230
234
237
240
241
241
239
237
233
229
224
218
211
203
195
186
177
166
156
145
135
125
115
104
94
84
75
67
60
53
47
42
37
34
31
31
30
31
34
37
41
47
53
59
67
75
84
93
103
113
125
135
145
156
166
176
185
193
203
211
217
224
229
234
237
239
240
240
240
238
235
230
226
219
212
205
197
188
179
170
159
148
137
127
117
106
97
86
77
68
62
55
48
43
38
35
31
30
31
33
34
35
39
45
51
58
65
72
81
91
101
111
122
132
142
153
164
174
184
192
200
208
216
222
228
233
236
238
240
241
240
238
236
232
227
221
214
207
199
190
182
172
161
151
140
130
119
109
98
89
79
70
63
57
50
44
39
35
32
31
31
31
33
35
39
44
49
56
63
70
79
88
98
109
119
129
140
150
161
171
181
190
198
206
214
221
227
231
236
238
240
240
240
239
236
233
228
222
216
208
201
192
184
174
164
153
142
132
122
112
100
91
81
71
64
60
50
45
40
35
34
31
30
31
32
33
39
43
49
54
62
69
77
86
96
107
116
127
137
149
158
168
179
189
196
204
212
219
225
230
235
237
240
241
240
239
237
234
229
224
217
211
203
194
186
176
166
155
145
134
125
113
102
92
83
74
66
59
52
47
41
37
34
31
30
30
31
34
37
42
47
53
60
67
75
85
94
104
114
125
135
145
157
167
177
187
194
203
210
217
225
229
234
237
239
240
241
240
237
234
229
225
219
212
205
196
188
178
168
158
147
136
127
116
105
96
86
76
68
61
54
48
42
38
34
31
30
30
31
34
36
41
46
51
59
65
74
82
91
105
115
116
133
150
151
163
176
186
193
199
207
218
226
227
231
237
239
241
242
239
237
236
231
226
221
213
206
198
190
180
171
160
149
139
128
119
108
97
90
76
66
67
57
43
45
41
33
33
30
31
34
31
35
40
44
50
57
63
70
81
91
99
111
121
130
142
152
162
172
182
191
200
208
215
221
227
231
235
238
240
240
240
238
236
232
227
222
215
208
199
192
183
173
163
152
142
131
121
110
100
91
80
72
63
57
51
45
39
36
33
31
30
31
32
35
39
43
49
55
63
69
78
87
97
107
118
128
139
149
159
170
180
189
197
206
213
219
226
230
235
238
240
240
241
239
237
233
229
224
217
209
202
193
185
176
165
155
144
133
123
112
103
92
83
74
65
59
52
46
41
37
34
31
31
31
32
34
37
42
48
54
61
68
76
84
94
105
116
127
136
146
156
167
178
188
195
204
211
219
225
230
234
237
240
240
241
239
238
234
230
224
218
211
204
195
187
178
167
157
146
135
125
115
105
95
85
75
67
60
54
47
41
37
34
31
31
31
31
33
36
41
46
52
59
66
74
83
93
103
114
124
134
144
155
166
176
186
193
202
210
217
224
229
233
237
239
241
240
240
238
235
231
226
220
213
205
197
189
180
169
159
148
138
127
117
106
96
86
77
69
62
55
48
42
38
35
33
31
30
31
33
36
40
45
51
58
65
73
81
91
101
111
122
132
142
153
163
174
184
190
203
211
211
220
233
233
231
239
243
241
238
236
237
234
227
220
215
208
199
192
180
171
162
152
141
130
119
109
98
89
79
72
63
56
49
41
45
35
28
36
30
31
31
37
40
45
48
55
63
70
79
89
98
109
120
129
140
151
161
172
181
191
198
207
213
221
227
231
235
238
240
240
240
239
236
232
228
223
216
209
201
192
183
174
164
154
143
132
122
111
101
91
81
72
63
58
51
45
40
36
33
31
30
31
31
35
38
43
48
55
62
68
77
86
97
106
118
127
137
148
158
169
179
188
196
205
213
219
225
230
234
238
240
241
241
239
237
233
229
224
218
210
203
194
186
176
166
156
145
134
124
114
103
93
83
74
66
59
52
46
41
37
34
31
30
31
31
34
37
42
47
53
60
67
75
84
94
104
114
125
136
145
156
166
176
187
195
203
211
217
224
229
233
237
239
240
240
240
237
234
230
225
219
212
205
196
188
178
168
158
147
137
127
116
106
96
85
77
68
61
54
48
43
38
35
31
30
31
31
33
36
40
45
52
59
65
73
82
91
102
112
123
132
143
153
164
175
184
192
201
209
216
222
228
232
236
239
240
241
240
238
235
231
226
220
214
206
198
191
181
171
161
150
139
129
119
109
98
88
79
70
63
56
50
44
39
35
33
31
31
31
32
35
39
45
50
57
63
71
79
89
99
110
120
130
140
151
162
172
182
192
199
207
215
221
227
232
235
239
240
241
240
238
236
232
227
221
216
208
200
192
183
173
163
152
142
131
121
110
99
91
80
72
63
57
50
44
38
37
34
30
30
31
33
35
39
43
49
55
63
70
78
87
97
108
118
127
138
149
160
170
180
189
197
205
214
220
226
231
235
238
240
241
240
240
236
233
228
224
218
210
202
193
185
175
166
155
144
133
123
113
102
92
83
74
66
59
51
46
40
36
34
31
31
31
33
34
38
42
47
54
61
68
76
85
95
105
116
127
136
147
157
168
178
187
195
204
212
218
225
230
234
237
239
241
241
240
237
234
230
225
219
212
204
195
187
177
168
158
147
136
126
115
104
94
85
76
67
61
53
47
41
37
34
31
31
31
31
34
37
41
46
52
59
66
74
83
93
103
113
123
134
144
155
165
175
185
193
201
209
217
224
229
233
236
239
240
241
239
237
235
231
226
220
214
204
197
188
179
173
163
143
137
134
115
104
98
88
79
68
59
57
51
42
37
36
31
31
31
30
32
36
40
45
51
57
63
73
80
90
100
111
121
131
141
153
163
173
185
190
197
212
219
215
228
236
234
240
240
240
243
237
234
232
228
221
215
208
197
192
183
172
162
152
140
130
120
109
99
89
80
71
63
57
50
44
39
35
33
31
30
31
33
35
39
43
50
55
63
70
79
88
98
108
119
129
139
150
159
170
181
190
198
207
213
220
226
231
235
238
240
240
240
238
236
233
228
224
216
209
201
192
184
175
164
153
143
132
122
112
101
91
82
73
65
58
52
45
40
36
33
31
30
30
31
35
38
42
47
55
62
68
76
85
96
106
117
127
137
147
158
168
178
188
196
205
212
219
225
230
234
238
239
241
240
239
237
233
230
225
218
211
203
194
187
177
166
156
145
135
125
114
103
93
84
75
66
59
53
47
41
37
34
31
31
30
31
33
37
41
47
53
60
66
74
83
93
103
114
124
134
145
155
166
176
186
194
203
211
217
224
229
234
237
239
240
240
240
237
235
230
225
219
212
204
196
188
179
169
158
148
137
127
116
106
96
86
77
68
61
54
47
42
38
35
33
31
30
31
33
36
41
46
51
58
65
72
82
91
102
111
123
132
144
153
164
174
184
192
201
209
216
222
228
233
237
239
240
241
240
238
235
231
227
220
214
206
198
190
181
171
161
150
140
129
118
108
98
89
80
70
63
55
49
43
39
35
33
31
30
31
33
35
39
45
50
57
63
71
80
88
99
110
117
134
142
146
164
176
181
187
201
209
214
219
227
234
237
237
239
242
240
239
236
232
227
224
216
208
199
192
183
174
165
152
143
132
119
110
99
95
80
67
69
57
49
45
40
38
33
30
30
33
31
34
39
42
48
56
62
69
78
88
97
108
118
127
138
149
159
170
180
189
197
205
213
220
226
231
235
238
240
241
240
238
236
233
229
224
217
210
201
193
185
176
166
155
144
133
124
113
103
92
83
74
66
59
52
46
41
37
34
31
30
31
32
35
38
42
47
53
61
67
76
85
95
105
115
126
136
147
157
168
177
188
195
204
211
218
224
230
234
237
240
240
240
239
237
234
230
225
218
211
203
195
187
177
168
157
147
135
126
115
105
94
85
75
67
61
53
47
42
38
35
31
31
31
31
34
36
41
46
52
59
66
74
83
93
103
114
124
133
144
154
165
175
186
194
202
209
216
222
228
233
237
239
240
241
240
238
235
231
226
220
213
206
197
189
180
170
159
149
138
127
118
108
97
87
78
70
62
55
48
43
39
35
32
31
30
31
33
36
40
45
51
57
63
71
80
90
100
111
121
131
141
152
162
173
183
192
199
208
215
221
227
232
236
238
240
241
240
238
236
232
227
222
215
208
199
192
182
173
162
152
139
130
121
109
100
89
79
71
63
56
51
44
39
36
34
31
30
31
30
36
38
44
50
55
62
69
79
88
98
108
119
128
139
150
160
171
181
190
198
206
213
220
226
231
235
238
240
240
240
239
236
233
228
224
216
209
201
193
185
175
164
154
143
132
123
112
102
91
82
73
65
58
51
45
40
37
34
31
30
30
31
35
38
42
47
54
61
68
76
86
96
106
116
127
137
147
158
168
178
187
196
204
212
219
225
230
234
238
239
240
240
239
237
234
229
224
218
211
203
194
187
176
167
157
146
135
124
114
104
94
84
75
66
59
52
47
42
37
34
31
30
30
31
34
37
41
47
53
60
66
74
84
93
104
114
124
134
145
156
166
176
186
194
202
210
217
224
229
233
237
239
240
240
240
237
235
230
226
219
213
205
196
188
178
170
159
148
137
126
116
106
96
86
77
68
61
54
47
43
38
34
32
30
30
31
33
36
40
45
51
58
63
72
81
90
107
110
117
138
144
149
164
175
185
192
197
208
219
222
226
233
236
239
242
240
238
238
236
231
227
221
214
206
198
190
182
172
161
151
140
129
119
109
99
87
77
71
68
51
47
49
37
36
32
30
33
31
30
35
40
43
50
57
62
70
80
89
98
109
120
130
141
150
161
172
181
192
199
207
213
220
227
231
236
238
240
240
240
239
236
233
228
223
216
208
200
192
184
174
164
153
142
132
122
111
101
91
81
73
64
58
51
46
40
36
33
31
30
31
33
35
38
43
48
55
62
69
78
86
97
107
118
127
137
148
159
170
180
189
197
205
212
219
225
231
235
238
240
241
240
239
236
234
229
224
217
210
202
194
186
176
166
155
144
134
124
113
103
93
83
75
66
59
52
47
41
37
34
31
30
31
31
34
38
42
47
54
60
66
76
85
94
105
116
125
135
145
156
167
177
187
195
203
211
218
224
230
234
237
240
241
241
239
237
234
230
225
218
212
204
196
188
178
168
158
147
136
127
115
105
95
85
76
68
61
54
47
42
38
35
32
31
30
31
34
37
41
46
52
58
65
73
82
92
102
113
123
133
143
154
165
175
185
193
202
209
216
223
228
233
237
239
240
241
240
238
235
231
226
220
213
206
198
190
181
170
160
150
139
128
119
107
98
88
79
70
62
55
48
43
39
35
32
31
30
31
33
36
40
45
51
57
63
71
80
90
100
110
121
130
141
152
162
172
182
192
199
208
215
222
227
232
236
238
240
241
240
238
236
232
228
222
215
208
200
192
182
173
163
152
141
130
120
110
101
90
81
71
63
56
50
44
39
35
33
31
30
31
32
35
39
44
48
56
61
75
79
82
102
111
116
126
142
151
158
168
180
192
198
204
213
221
226
231
235
237
240
241
240
238
236
233
229
223
218
209
200
195
182
174
167
157
141
129
127
111
100
94
83
75
65
56
52
47
40
36
34
30
30
31
31
34
38
42
48
54
61
68
76
85
95
106
115
127
136
147
157
168
178
187
196
204
212
218
225
230
235
238
239
240
240
240
237
234
230
224
218
210
203
194
187
178
167
157
146
135
125
114
104
94
84
76
67
60
53
47
42
37
34
31
31
31
33
34
36
41
47
53
60
66
74
83
93
103
114
124
134
145
155
165
176
186
195
202
210
217
224
229
234
237
239
240
240
240
237
235
231
226
219
213
205
196
189
179
170
159
148
138
127
117
107
96
86
77
69
62
55
48
43
38
34
31
31
31
31
33
36
40
45
51
58
63
72
81
91
101
112
122
131
142
153
164
174
184
192
200
208
216
222
228
232
236
239
240
241
240
238
236
232
227
221
214
207
199
191
181
171
162
152
139
130
119
109
99
88
80
71
63
56
50
44
39
35
33
31
30
31
33
36
39
44
50
56
63
70
79
89
99
109
119
129
139
150
161
171
181
190
198
206
214
221
227
232
236
238
240
241
240
239
236
233
228
222
216
208
200
192
184
174
164
153
143
132
122
111
100
91
82
72
64
58
51
45
40
37
34
31
30
30
33
35
39
43
48
54
62
68
77
87
97
107
117
127
137
148
158
169
179
188
196
205
212
219
225
230
235
238
240
241
241
239
237
234
229
224
217
210
202
194
186
176
166
155
145
134
125
113
103
93
84
75
66
59
52
47
41
38
34
31
30
30
31
34
37
42
47
53
60
67
75
84
94
104
115
125
135
146
156
167
176
187
194
203
211
218
224
229
234
237
240
240
241
239
238
234
230
225
219
212
204
196
188
178
169
158
147
136
126
116
106
96
86
76
68
61
54
47
42
38
35
31
30
30
31
33
36
40
46
51
58
65
73
82
91
102
112
123
132
143
154
164
175
184
192
201
209
216
222
228
233
237
239
240
241
240
238
235
231
227
221
213
206
197
190
182
176
156
146
145
128
116
108
100
89
79
67
62
59
48
43
40
35
32
32
30
30
33
35
39
44
50
56
63
71
80
90
100
110
120
131
141
151
162
175
180
188
203
212
208
221
231
229
237
238
240
243
239
237
237
233
227
222
216
206
199
192
183
173
163
152
142
131
121
111
101
90
81
72
63
57
51
45
39
36
33
31
31
31
32
35
38
43
49
55
62
69
78
87
97
107
118
127
138
149
159
170
180
190
197
205
212
220
226
231
235
238
240
240
240
238
237
233
229
224
217
209
202
193
185
176
165
155
144
133
123
113
102
92
83
73
65
58
52
46
41
37
34
31
30
31
31
34
38
42
47
54
61
67
75
85
97
106
116
125
135
147
158
168
178
188
195
204
211
218
224
230
234
237
239
240
240
240
237
234
230
225
219
211
204
195
188
177
168
156
146
136
126
116
104
94
84
75
67
60
53
47
42
37
34
31
31
30
31
34
37
41
47
52
59
66
74
84
93
103
114
124
133
144
155
166
176
186
193
202
210
217
224
229
234
237
239
240
241
240
237
235
231
226
220
213
206
197
189
179
170
159
148
138
127
117
107
97
87
77
69
62
55
48
43
39
35
32
30
30
30
33
36
40
45
51
57
63
72
81
91
101
111
122
131
142
153
163
173
184
192
200
208
215
222
227
233
236
239
241
241
240
239
236
232
227
221
215
208
199
191
182
172
161
151
140
130
119
109
99
89
80
70
63
56
50
44
40
36
33
30
30
31
32
35
39
44
50
56
63
70
79
88
98
109
119
129
139
150
161
171
181
190
198
206
214
221
227
231
235
238
240
241
240
239
237
233
228
222
216
209
201
192
184
175
164
153
142
132
122
112
102
91
81
73
63
57
51
45
40
35
34
31
29
33
36
31
36
48
50
49
62
71
77
83
94
108
119
126
136
148
159
169
180
188
196
205
213
219
225
230
235
237
240
240
242
239
237
233
226
231
217
204
206
197
185
175
168
156
146
133
123
116
103
92
85
74
64
60
53
46
41
37
34
32
31
30
31
34
37
41
47
52
60
66
75
84
94
104
114
125
134
145
156
166
176
186
194
203
210
217
224
229
234
237
239
240
240
240
238
235
231
225
219
212
204
196
188
179
169
158
147
136
127
117
106
96
86
76
68
61
54
47
42
38
34
32
31
30
31
34
36
41
46
51
58
64
73
81
91
102
112
122
132
142
153
164
175
185
192
200
208
216
223
229
233
236
239
240
241
240
238
235
231
227
220
214
206
197
190
182
171
161
150
139
129
119
107
98
88
78
70
63
56
48
44
39
36
31
31
31
31
33
35
40
44
50
57
63
71
80
90
100
110
120
130
140
151
162
172
182
192
199
207
214
221
227
232
236
238
240
240
240
239
236
233
228
222
216
208
200
192
183
173
163
152
142
131
121
111
101
90
81
72
63
57
50
46
40
37
33
30
30
31
32
35
39
43
49
55
62
69
78
87
97
107
117
127
138
148
159
170
180
189
196
205
213
220
226
231
235
238
240
241
241
239
237
233
229
224
218
210
202
194
185
176
165
155
144
134
124
113
103
92
83
74
66
59
52
46
41
37
34
31
30
30
31
35
38
42
47
53
61
67
76
85
95
105
115
126
135
146
157
168
178
187
195
204
211
218
224
230
234
237
240
240
241
239
238
234
230
225
219
212
204
195
188
178
168
157
147
136
126
116
105
95
86
76
67
60
53
47
43
37
34
31
30
30
31
34
37
41
46
52
59
66
74
83
93
103
113
124
133
144
154
165
176
185
193
202
210
217
224
229
233
237
239
241
241
240
238
235
231
226
220
213
206
197
190
180
171
160
148
138
127
118
107
98
87
78
69
62
55
49
43
38
35
31
31
30
31
33
36
40
45
51
58
63
71
80
91
105
106
119
138
141
149
163
174
183
192
196
208
218
221
226
233
236
238
242
240
239
239
236
232
228
220
213
207
200
192
183
172
162
151
140
130
120
109
101
87
75
75
66
48
51
48
37
37
31
31
33
30
31
36
39
43
51
56
61
70
81
88
98
109
119
130
140
150
161
171
180
190
198
206
213
221
227
232
236
238
240
240
240
239
237
233
228
222
216
209
201
192
184
175
164
153
143
132
123
111
102
91
82
72
64
58
51
45
40
36
33
31
30
31
31
35
38
42
47
54
62
68
77
86
96
106
117
127
137
147
158
169
179
188
195
204
211
219
225
230
234
237
239
240
240
239
237
234
229
224
218
210
203
194
186
176
166
156
145
135
124
114
103
93
84
75
66
59
52
46
41
37
34
31
30
30
31
34
37
42
47
53
60
67
75
84
94
104
114
124
134
145
156
167
177
186
194
202
210
217
224
229
233
237
239
240
240
239
238
235
230
226
219
212
204
196
188
179
169
158
148
137
127
117
106
96
86
77
69
62
54
48
42
38
34
32
31
30
31
33
37
41
45
51
57
65
73
82
91
101
111
122
132
142
153
164
174
184
192
199
209
216
222
228
233
236
238
240
240
240
238
235
231
227
221
214
207
199
190
181
171
161
151
140
129
118
108
98
89
79
70
63
56
49
44
40
35
31
30
30
31
33
36
39
44
49
56
63
71
80
89
99
109
120
129
140
150
162
172
182
191
198
207
214
221
227
231
235
238
240
241
240
238
236
233
228
222
216
208
201
192
184
173
163
153
142
131
121
111
101
91
81
71
63
58
51
45
40
35
33
30
30
30
33
35
38
43
48
55
62
69
78
87
97
107
117
127
137
148
159
169
180
189
197
205
213
220
226
231
235
238
240
241
240
239
237
233
229
224
217
210
202
194
186
176
166
155
144
133
124
114
103
92
83
73
63
60
55
43
38
42
35
26
31
33
33
31
35
43
49
53
59
68
76
85
95
105
114
126
136
146
157
167
177
187
195
203
213
218
225
228
231
243
240
234
244
242
236
234
231
225
220
210
202
198
188
176
169
157
145
136
127
116
105
95
85
76
67
60
53
47
42
38
34
31
30
31
31
34
37
40
46
52
59
65
74
82
92
102
113
124
133
144
154
165
175
185
193
201
209
216
223
229
234
237
239
240
240
240
238
235
232
226
219
213
207
198
191
180
170
161
149
138
129
118
107
98
88
79
69
62
56
49
43
39
35
31
30
31
31
33
36
40
44
50
57
63
71
80
90
100
110
120
130
140
152
163
173
182
192
199
208
215
221
228
232
236
238
240
241
240
239
236
233
227
222
215
208
199
192
182
173
163
152
141
130
121
110
100
90
81
71
63
57
50
45
39
36
33
31
30
31
31
35
39
43
48
55
63
69
78
88
98
108
118
127
139
150
160
171
180
189
197
205
213
220
226
231
235
237
240
240
240
239
236
233
229
224
217
209
201
193
185
175
165
154
144
133
123
112
102
92
83
74
66
59
52
46
41
36
33
31
30
30
31
35
38
42
47
53
61
68
77
85
95
105
115
126
135
147
157
168
178
187
195
204
211
218
225
230
234
237
240
240
241
239
237
234
230
224
218
211
203
195
187
177
167
157
146
135
125
115
104
94
85
75
67
60
53
47
42
37
34
31
30
30
31
34
37
41
46
52
59
66
74
83
93
103
114
124
134
144
155
166
176
185
194
202
210
217
223
229
233
237
239
240
240
240
238
235
230
225
219
212
205
196
188
179
169
159
148
138
127
117
107
97
86
76
68
61
55
49
43
38
34
31
30
30
31
33
36
39
44
51
58
64
72
81
90
101
111
122
131
142
152
164
173
183
192
200
208
216
222
228
232
236
239
240
240
240
238
235
231
227
221
214
207
198
190
182
176
157
145
146
131
116
109
101
89
79
67
63
59
49
42
40
35
31
31
30
30
33
36
39
44
49
56
63
70
79
89
99
109
119
129
140
150
161
173
180
187
200
213
208
219
232
229
236
237
239
244
240
237
237
233
227
222
216
207
200
194
184
173
163
153
143
132
122
111
102
91
81
73
63
57
51
45
40
36
33
31
30
30
31
34
38
43
48
55
61
68
77
86
97
107
117
127
137
147
158
169
179
188
196
204
212
219
226
231
234
237
239
240
241
240
237
234
229
224
217
210
202
194
186
176
166
155
145
134
124
114
103
93
83
75
66
59
52
47
41
37
34
31
30
30
31
34
37
42
47
53
60
66
75
84
94
104
114
125
134
146
156
167
177
186
193
202
211
218
224
229
234
237
239
240
240
240
237
235
230
225
219
212
204
196
188
178
169
158
147
137
127
116
106
95
85
76
67
61
54
47
42
38
34
31
31
30
31
33
37
40
46
52
58
65
73
83
92
102
111
122
132
144
154
165
175
184
192
201
209
216
223
229
233
236
238
240
240
240
238
235
231
227
220
214
206
198
190
181
171
160
149
139
128
119
108
98
88
79
70
63
56
49
43
39
35
32
31
30
31
33
36
39
44
49
57
63
72
81
90
100
109
120
129
141
151
162
172
182
192
199
207
215
222
227
232
236
238
240
240
240
238
236
232
228
222
216
208
200
192
183
173
163
152
141
131
121
110
100
89
80
71
63
57
51
45
40
35
32
31
31
31
33
35
38
43
48
55
62
69
78
88
97
108
118
128
139
149
160
170
180
189
197
205
213
220
226
231
235
238
240
241
240
239
237
233
229
224
217
209
201
193
185
175
165
154
144
133
123
113
102
92
82
73
65
59
52
45
40
36
33
31
30
30
33
34
38
42
47
54
61
68
76
86
95
106
116
126
136
147
157
168
179
188
196
203
211
218
225
230
234
237
240
241
240
240
237
234
230
225
218
211
203
195
188
177
166
155
147
132
129
117
99
96
88
73
63
63
56
47
39
36
35
32
29
30
33
34
37
42
46
52
59
66
74
83
93
103
113
124
134
144
157
164
173
187
198
198
207
222
223
227
234
237
241
240
239
240
240
234
229
227
219
212
207
198
188
180
169
159
149
137
127
118
107
97
86
77
69
61
55
48
43
38
34
33
30
30
31
34
36
40
45
51
57
63
73
81
91
100
111
121
131
142
152
163
173
183
192
200
208
215
222
228
232
235
238
240
241
240
239
236
231
226
221
214
207
199
191
182
172
162
151
141
130
120
110
99
89
80
71
63
56
50
44
39
36
33
31
30
31
33
35
39
44
49
56
63
70
79
88
98
108
119
129
139
151
161
171
180
189
198
207
214
220
227
231
235
238
240
240
240
239
236
233
228
222
216
209
201
193
184
175
164
153
142
132
122
111
102
91
82
73
65
58
51
46
40
37
33
31
30
30
31
35
38
43
48
54
61
68
78
86
96
105
116
127
137
148
158
169
178
188
195
204
212
220
225
230
234
237
240
240
241
239
238
233
229
224
218
210
202
194
186
176
166
156
145
134
125
114
103
94
83
75
66
59
52
46
41
37
34
31
30
30
31
35
37
41
46
53
60
67
75
84
93
104
114
125
135
145
156
166
176
186
194
203
211
218
224
229
234
237
239
240
240
240
238
234
231
225
219
212
205
196
188
179
169
158
148
137
127
116
106
96
86
77
68
61
54
48
43
37
34
31
31
31
31
33
36
40
45
51
58
65
73
82
91
101
112
122
132
143
154
164
174
184
192
201
209
216
222
228
233
236
239
240
240
240
238
235
231
226
221
214
206
198
190
180
171
160
149
139
128
119
109
98
87
78
69
63
56
49
43
38
35
31
31
30
31
33
36
39
44
50
57
63
71
80
88
103
111
114
132
147
148
160
174
183
192
197
205
216
224
226
231
237
238
240
242
240
238
237
232
227
222
214
208
200
192
182
173
162
152
142
131
121
111
100
91
78
68
70
57
43
49
41
34
33
29
32
33
31
35
40
43
48
57
62
68
79
89
97
107
118
128
139
148
159
171
180
189
197
205
213
220
227
231
234
238
240
241
241
239
237
233
228
223
217
210
202
193
185
175
165
154
144
133
123
113
102
92
83
74
65
59
52
46
41
37
34
31
30
31
32
34
38
42
47
54
61
68
76
85
95
105
115
126
136
146
157
167
178
187
195
203
212
219
225
230
234
237
239
241
240
240
237
234
230
225
218
211
204
195
188
178
168
157
146
135
126
115
105
94
84
76
67
61
53
47
42
37
34
31
30
30
31
33
37
41
46
52
59
66
74
83
92
103
113
124
133
145
155
165
175
184
193
201
210
217
224
228
233
236
239
240
241
240
238
235
230
226
220
213
206
197
190
180
170
159
149
138
127
117
107
97
87
77
69
62
54
49
43
39
35
32
31
30
31
33
36
40
45
51
57
63
72
82
90
100
110
122
131
142
152
163
173
183
192
199
208
215
222
227
232
235
239
240
241
240
238
236
232
227
221
215
208
199
192
182
172
162
152
140
130
120
110
99
89
80
71
63
57
50
44
39
35
32
31
31
31
34
35
38
43
49
56
63
70
79
88
98
108
119
128
140
150
161
171
181
190
198
206
214
221
227
232
235
238
240
240
240
239
236
233
228
222
216
209
201
192
184
175
164
154
144
132
122
112
101
91
82
73
64
58
52
46
40
36
33
31
31
31
33
34
38
42
48
54
61
68
77
86
96
106
116
127
137
147
158
169
179
188
196
204
212
219
225
231
235
237
240
241
240
239
237
234
229
224
218
211
203
195
187
177
167
156
145
135
125
115
104
93
83
75
67
60
53
47
41
37
34
31
31
31
31
34
37
41
46
53
60
67
75
84
93
104
114
125
134
145
156
166
176
186
194
202
211
217
224
229
234
237
240
241
241
240
236
235
231
225
220
210
207
200
184
176
173
159
143
139
130
117
103
94
88
79
67
60
55
48
42
39
34
31
31
31
31
33
37
40
45
51
58
65
74
81
89
100
118
121
127
148
155
162
174
185
193
201
206
215
225
227
232
237
239
239
241
241
239
235
231
226
221
215
207
199
190
181
170
161
150
140
129
119
109
98
89
78
70
63
56
49
44
39
35
33
30
30
31
33
35
39
44
50
56
63
71
79
89
99
110
121
129
140
150
162
172
182
191
198
207
215
221
227
231
235
238
240
241
240
239
236
233
228
222
215
208
201
192
183
173
163
153
142
131
122
111
100
91
81
72
63
57
50
45
40
36
33
31
30
31
33
34
38
43
49
54
62
69
78
87
97
107
117
127
138
149
159
169
179
188
197
205
213
219
226
230
235
237
239
240
240
239
236
233
228
224
217
210
202
194
186
176
166
155
144
133
124
113
103
93
83
74
66
59
52
46
41
37
34
31
30
30
31
34
37
42
47
53
61
67
76
84
94
104
115
126
136
146
156
167
177
187
194
203
211
218
225
229
234
236
240
240
240
240
237
235
230
225
218
212
203
195
187
178
168
157
146
136
126
115
105
94
85
76
67
60
53
47
42
37
34
31
30
31
32
34
36
40
46
52
59
66
74
82
92
102
113
123
133
144
155
165
175
185
193
201
209
216
223
228
233
236
239
240
240
239
237
235
231
226
220
213
205
197
189
180
170
160
149
138
127
118
107
97
88
77
69
62
56
49
43
37
34
32
31
31
31
33
36
40
44
50
57
63
72
80
90
99
111
121
131
141
152
163
173
183
192
199
208
215
222
227
232
236
239
240
241
240
239
236
232
227
221
214
208
198
192
184
176
157
150
148
129
118
111
101
90
79
69
64
60
49
43
41
35
33
32
29
30
33
35
38
44
49
55
63
70
79
88
98
108
118
129
139
150
161
172
179
186
203
210
206
222
230
229
236
237
241
244
240
237
237
233
228
224
217
208
202
194
184
174
164
154
144
133
122
112
102
91
82
73
65
58
51
45
40
36
33
31
30
31
31
35
38
42
47
54
61
68
77
86
96
106
116
127
136
148
158
169
179
188
196
204
212
219
225
230
234
238
240
241
241
240
237
234
229
224
218
211
203
194
186
176
166
156
145
135
125
114
104
93
84
75
67
60
53
47
42
37
34
31
30
30
31
35
37
42
47
53
60
67
75
84
93
103
114
125
134
144
155
166
176
186
194
202
211
218
224
229
233
237
239
240
241
240
238
234
230
225
220
213
205
196
189
179
169
158
148
137
127
117
106
96
86
77
68
61
54
48
43
38
35
31
31
31
32
33
36
40
45
52
58
63
72
81
91
102
111
122
132
143
154
163
173
183
192
200
209
216
222
228
232
236
238
240
240
240
238
236
231
227
221
214
207
199
192
181
172
161
151
140
129
120
109
99
89
79
70
63
56
49
44
39
35
33
31
30
31
33
35
39
44
50
57
63
71
79
88
98
109
120
130
140
151
161
171
181
190
198
207
214
221
226
231
235
238
240
240
240
239
236
232
228
222
216
208
200
192
184
174
163
153
142
131
121
111
101
90
81
72
63
57
51
45
40
36
33
31
30
31
32
34
37
43
48
55
61
69
77
86
96
106
117
127
138
148
159
169
179
189
196
205
213
219
225
231
234
237
239
240
240
239
237
233
229
224
217
210
203
193
186
176
166
155
144
134
124
114
103
93
83
74
66
59
53
46
41
36
34
31
31
31
31
34
37
41
47
53
60
67
75
84
94
105
114
126
135
146
156
167
177
186
194
203
211
218
224
229
234
237
240
240
241
241
237
235
230
225
219
211
203
196
188
177
169
157
148
136
127
116
105
94
85
77
68
61
54
47
42
37
34
31
31
30
31
33
36
40
46
52
59
65
73
83
92
102
113
123
132
144
154
165
175
184
193
201
209
216
223
228
232
237
240
237
245
242
233
236
236
226
216
216
209
197
187
178
173
162
149
138
129
118
108
98
86
78
70
63
55
49
43
39
35
33
31
30
33
31
33
40
50
46
53
68
71
78
90
100
112
122
128
141
153
161
172
184
190
198
208
215
221
227
232
236
239
240
241
241
238
235
232
228
222
216
208
200
192
183
173
162
152
142
131
121
110
100
90
80
72
63
57
51
45
39
35
33
31
30
31
32
35
39
43
49
56
63
69
78
88
98
108
118
128
139
149
160
170
180
189
198
206
213
220
225
230
235
238
240
241
240
239
236
233
228
224
217
209
202
193
185
175
165
154
144
133
123
112
102
92
82
73
65
59
51
46
41
36
34
31
31
30
32
34
38
42
47
54
61
68
76
85
94
105
116
127
136
146
157
167
178
188
196
204
211
218
225
229
234
237
240
241
241
240
237
234
230
225
218
211
204
195
187
177
167
157
146
135
125
115
105
95
84
75
67
60
53
47
42
37
34
31
31
31
31
34
37
41
46
52
59
66
74
83
92
103
114
125
134
144
155
166
176
185
194
202
210
217
224
229
233
236
239
240
241
240
238
234
230
226
219
213
205
197
189
179
169
159
148
138
127
117
107
97
86
77
68
62
55
48
43
38
34
33
31
30
31
33
35
39
45
51
58
63
72
81
91
100
111
122
131
142
153
163
173
183
192
200
208
215
222
228
232
236
238
240
240
240
238
236
232
227
221
215
207
199
191
181
171
161
150
140
129
119
109
98
89
79
71
63
56
49
43
39
35
33
31
30
31
33
35
39
44
50
56
63
70
80
93
93
106
126
129
137
151
162
173
181
187
198
209
213
220
227
232
235
239
240
239
240
239
236
233
228
221
216
208
200
192
184
174
164
153
143
132
122
112
99
86
85
79
59
58
55
43
41
34
33
34
30
29
32
34
37
43
49
53
61
70
77
86
96
107
117
127
137
148
159
169
179
188
196
204
213
219
225
230
234
238
239
240
240
239
236
234
229
224
218
211
202
193
185
176
166
156
145
134
124
113
103
93
83
74
66
60
52
46
41
37
34
31
31
30
31
34
37
41
47
53
60
67
75
84
94
104
114
125
135
146
156
167
177
186
194
203
211
217
224
229
234
236
239
241
241
240
237
234
230
226
219
212
204
196
187
178
168
158
147
137
127
116
105
95
85
77
67
61
54
48
42
38
34
31
30
30
31
34
36
41
46
51
59
65
73
82
92
102
112
123
133
143
154
164
174
184
192
201
210
216
222
227
233
237
239
240
241
239
238
235
231
226
220
214
205
198
190
180
170
161
150
139
128
119
108
98
88
78
70
62
56
49
44
39
35
31
30
30
31
33
36
39
45
50
57
63
71
79
90
99
110
121
131
141
151
161
172
183
192
200
207
214
221
227
231
235
238
240
241
240
239
236
232
228
222
215
208
200
192
183
173
163
152
141
131
121
110
100
90
80
72
63
57
50
45
39
36
33
30
30
31
33
35
38
42
48
56
63
69
77
87
97
108
118
128
138
149
159
170
180
189
197
205
213
220
226
231
235
238
240
240
240
239
237
233
228
224
217
209
201
192
185
175
165
154
144
133
123
113
102
92
82
73
65
59
52
46
40
36
34
31
31
30
31
33
38
42
48
54
61
67
76
85
95
105
116
127
136
147
157
168
177
187
195
203
211
218
224
230
234
236
240
242
240
240
237
234
230
224
218
211
203
194
187
178
168
156
146
136
126
115
105
95
85
75
68
61
53
46
42
38
35
32
30
30
31
33
37
41
46
52
59
65
74
83
92
103
113
124
134
144
154
165
175
185
193
202
210
217
223
229
233
237
239
240
241
240
238
235
231
226
220
213
205
197
189
180
170
160
149
139
127
117
106
97
87
78
69
62
55
48
43
38
35
31
31
30
31
33
35
40
45
51
58
63
72
81
90
100
110
121
131
141
153
163
173
183
192
200
206
219
224
221
234
240
237
236
243
242
237
232
231
229
224
214
206
199
192
182
173
161
151
141
130
120
109
99
89
79
71
63
56
51
43
35
38
38
26
28
36
31
33
39
44
51
56
61
71
80
87
98
110
118
129
140
151
160
171
181
191
198
206
213
221
227
231
235
239
240
241
240
238
236
233
228
224
216
209
201
192
184
174
164
154
143
132
122
111
101
91
81
73
63
58
51
45
40
36
33
31
30
31
32
35
38
43
48
54
62
69
77
86
96
106
116
127
137
148
158
169
179
188
196
204
212
218
225
230
235
238
240
241
240
239
237
233
230
225
218
210
203
194
186
177
167
156
145
134
125
114
104
93
84
75
66
60
53
47
41
37
34
31
30
30
31
34
37
41
47
53
60
66
75
84
93
103
115
125
134
145
155
166
177
187
194
202
210
217
224
229
234
237
240
240
240
239
238
234
230
225
219
212
204
196
188
178
168
158
147
137
127
116
106
96
86
76
68
61
54
48
42
38
34
31
30
31
31
33
36
40
46
52
58
63
73
81
92
102
112
122
132
143
153
164
174
184
192
201
209
216
222
228
232
236
239
240
241
240
238
235
232
226
220
214
206
198
190
181
171
161
150
139
128
119
108
98
88
79
70
62
55
49
44
39
35
32
31
30
30
32
35
40
45
51
57
63
70
79
89
99
110
120
130
140
151
162
172
182
192
199
207
214
221
228
232
235
238
240
241
241
239
236
233
228
222
215
208
199
192
187
175
156
154
148
127
119
112
101
91
79
69
66
58
48
45
41
36
34
31
29
30
32
34
39
43
48
55
63
69
78
87
97
107
118
127
138
149
160
171
177
185
204
208
204
222
229
229
236
236
241
244
239
237
238
233
228
225
217
208
202
195
184
175
165
156
145
133
123
113
103
92
83
74
66
59
52
46
40
37
34
31
30
30
31
34
37
42
47
53
61
67
76
85
94
104
115
125
135
146
157
167
177
187
195
204
211
219
225
230
234
237
240
241
240
239
237
234
230
225
219
211
203
195
187
178
168
157
146
136
126
115
105
95
85
76
67
60
53
47
42
38
34
31
31
31
31
34
36
41
46
52
59
66
74
83
92
102
113
124
133
144
155
165
175
185
193
201
209
216
224
229
233
237
240
241
240
239
237
235
231
226
220
213
206
197
189
180
170
160
149
138
127
118
107
97
87
78
69
62
55
49
43
38
35
32
30
30
31
33
36
39
45
50
57
63
72
81
90
100
111
121
131
141
152
163
173
183
192
200
208
214
221
227
233
236
239
240
240
240
238
236
232
228
221
214
208
199
192
182
172
162
151
140
130
120
109
99
89
80
71
63
56
50
44
40
35
33
31
30
31
33
36
39
44
49
56
63
70
79
88
98
109
119
128
138
149
160
171
181
190
198
206
213
220
226
231
235
238
240
241
240
239
236
233
229
224
217
209
201
192
184
175
164
154
143
133
122
112
101
92
82
73
65
58
51
46
40
36
33
31
31
31
31
34
38
43
48
54
61
67
76
86
96
106
116
127
136
147
158
168
178
188
196
204
211
219
225
230
234
237
240
241
240
239
237
234
229
224
217
211
204
194
187
176
167
157
145
135
125
114
104
94
85
75
66
60
53
47
41
38
34
31
30
30
31
34
37
42
47
52
59
66
74
83
93
103
114
124
133
144
155
166
176
186
194
202
210
217
224
229
233
236
239
240
240
240
238
234
231
225
219
213
206
197
188
178
169
159
148
137
127
117
107
96
87
77
68
61
54
48
42
39
35
31
30
30
31
33
36
40
45
51
58
63
72
81
91
101
113
123
131
142
153
164
174
184
192
200
209
216
222
228
233
236
239
240
241
240
238
236
232
227
220
214
207
198
191
181
172
162
151
139
128
119
109
99
89
79
70
63
56
49
44
39
35
33
31
30
30
32
35
39
44
50
57
63
70
80
89
98
110
119
128
142
154
158
169
187
192
194
207
217
222
224
229
237
240
239
240
241
239
236
233
228
221
216
208
200
192
184
174
164
153
142
132
122
111
98
88
88
72
58
61
53
43
39
37
34
33
28
30
34
34
38
44
48
53
63
70
78
86
97
108
118
127
137
148
159
169
179
189
197
205
213
219
226
230
235
238
240
240
240
238
237
234
229
224
217
210
202
194
186
176
166
155
144
134
124
113
103
93
83
74
66
59
52
47
41
37
34
31
30
30
31
34
37
42
47
53
61
67
76
84
95
104
115
126
135
146
156
167
177
187
195
203
210
217
224
230
235
237
240
240
241
239
237
234
230
225
219
212
204
195
188
179
168
158
147
136
126
116
105
94
85
76
67
60
54
48
42
38
34
31
31
30
31
33
36
40
46
52
59
65
73
82
92
103
114
123
133
143
154
165
175
185
193
201
209
216
223
228
233
237
239
240
241
240
238
235
231
226
220
214
206
198
189
180
170
159
149
139
127
118
108
97
87
78
69
62
55
48
43
39
34
31
31
30
31
33
36
40
45
50
57
63
71
81
90
100
111
121
131
141
152
162
173
183
192
200
208
215
222
227
232
236
239
240
240
240
238
236
232
227
221
215
208
199
192
182
172
162
151
141
130
120
110
100
89
80
71
63
56
50
44
40
36
33
31
30
30
33
35
39
44
49
55
63
69
79
88
98
108
118
129
138
149
159
169
185
191
192
209
218
216
225
232
236
239
237
239
243
240
235
233
229
222
217
210
200
192
185
175
165
154
143
133
123
112
102
92
83
73
65
58
52
46
41
38
30
28
37
31
25
38
39
41
48
51
62
70
75
85
96
105
116
127
136
145
158
169
177
187
195
204
212
218
225
231
235
237
239
241
241
240
237
234
229
224
218
211
203
194
187
177
167
157
145
135
125
115
105
94
85
75
66
59
53
47
42
37
34
31
30
31
31
33
36
41
47
53
59
66
74
84
93
103
114
124
134
144
155
166
176
185
194
202
210
217
224
229
233
237
239
241
241
240
237
235
231
226
219
212
204
196
189
180
169
159
148
137
127
117
106
96
86
77
68
61
54
47
43
38
34
31
31
30
31
33
36
40
45
51
58
65
72
82
91
101
112
122
132
143
153
164
174
184
192
200
208
216
222
228
233
237
239
240
240
240
238
235
232
226
221
214
206
198
192
181
172
161
150
140
129
119
109
99
89
79
70
63
56
49
44
39
35
32
31
30
31
33
36
39
44
50
56
63
71
79
89
99
109
120
129
140
150
161
172
181
191
198
206
214
221
227
231
235
238
240
240
240
238
236
233
228
222
216
208
200
192
184
174
164
153
142
132
122
111
101
91
82
73
64
57
51
45
40
36
33
31
30
31
31
35
38
43
48
55
62
69
77
87
97
107
117
127
137
148
159
169
179
188
196
205
212
219
225
231
235
238
239
240
240
239
237
234
229
224
217
210
202
193
186
177
166
156
144
134
125
113
103
93
83
74
67
60
53
47
41
37
34
31
30
31
31
34
38
42
47
52
59
67
75
85
94
104
114
125
135
145
156
167
177
186
195
203
211
218
224
230
234
237
239
240
240
240
237
234
230
225
219
212
204
196
188
179
168
158
147
137
127
116
105
95
86
76
68
61
53
48
43
38
35
31
30
30
31
34
37
41
46
52
58
65
73
83
92
103
112
123
132
144
154
165
175
185
193
201
209
216
223
228
233
237
239
240
240
240
238
235
231
227
220
214
206
197
190
180
171
160
150
138
128
118
108
98
88
78
69
62
55
49
43
39
35
32
31
30
31
33
36
39
44
50
57
63
72
80
90
100
110
121
130
141
151
162
172
182
192
199
208
215
221
227
232
236
239
240
241
240
238
236
232
228
222
216
208
200
192
184
173
163
152
141
131
122
111
100
90
80
72
63
57
51
45
40
36
33
31
30
30
33
35
39
43
49
56
60
72
81
83
95
113
119
125
139
151
160
167
179
192
199
204
211
221
227
231
235
237
239
241
241
239
237
234
229
224
217
209
203
195
186
172
163
160
143
127
126
115
101
93
83
74
66
57
51
47
39
36
35
31
29
31
33
34
37
42
48
54
61
67
76
85
94
105
115
126
136
146
157
167
177
188
195
204
211
218
225
230
234
237
239
240
240
240
237
234
229
224
218
211
203
195
187
177
167
156
146
135
125
115
105
94
85
76
67
60
53
47
41
37
34
31
30
31
31
33
37
41
46
52
59
66
74
83
93
103
113
124
133
144
155
166
176
185
193
201
210
217
224
229
233
236
239
240
240
240
238
235
231
226
220
213
205
197
189
180
170
159
148
138
127
117
107
97
87
77
69
62
55
49
43
38
34
32
30
30
31
33
36
40
45
51
58
63
72
81
91
101
111
121
131
142
153
163
173
183
192
200
208
215
222
228
232
236
238
240
241
240
239
236
232
227
221
214
207
199
191
182
172
162
151
140
130
120
109
99
89
79
70
63
56
50
44
39
36
33
31
30
31
33
35
39
44
49
56
63
71
80
88
98
109
119
129
140
150
161
171
182
190
198
206
214
220
227
231
236
238
240
241
240
239
236
233
228
222
216
208
200
192
184
174
164
153
143
132
122
111
101
91
81
73
63
56
55
47
34
38
39
28
28
31
34
36
36
40
50
56
60
68
78
86
97
108
115
126
137
148
158
169
179
188
197
204
212
219
225
230
234
238
240
240
241
240
235
229
235
228
210
212
205
193
187
175
167
159
144
133
125
114
103
94
84
72
66
61
53
47
41
37
34
31
30
31
31
33
37
42
47
52
60
66
75
84
94
104
114
125
134
145
156
166
176
186
194
202
210
218
224
229
234
237
239
240
240
239
238
234
230
225
219
212
204
196
188
179
169
158
147
137
127
117
106
96
85
76
68
61
54
48
42
38
34
31
30
30
31
34
36
41
45
51
58
64
73
82
91
101
112
123
132
143
153
164
174
184
192
201
209
216
222
228
232
236
239
240
240
240
238
236
232
226
220
214
207
198
190
181
171
161
149
139
128
119
108
98
88
78
69
63
56
49
43
39
35
33
30
30
31
33
36
39
43
50
57
63
71
80
89
99
110
120
130
140
152
162
172
182
192
199
207
214
221
228
232
235
237
239
240
240
239
235
232
227
222
216
208
199
192
183
173
163
152
141
130
121
111
100
90
80
71
63
57
50
44
39
36
33
31
30
31
32
35
38
43
49
55
62
69
78
87
97
108
118
127
138
150
160
170
180
189
196
206
213
220
226
231
235
237
239
240
240
239
236
233
229
223
217
210
201
193
185
175
165
154
143
134
124
112
103
91
82
74
65
59
52
45
41
37
34
31
30
31
32
34
37
42
47
53
60
68
76
85
95
105
115
126
136
147
157
167
178
188
195
203
211
218
225
230
234
237
240
240
241
240
238
234
230
225
218
211
204
195
187
177
167
157
146
136
126
115
105
94
85
75
67
60
54
47
42
38
34
31
30
30
31
34
37
41
46
52
59
66
74
83
93
103
113
123
133
144
155
166
175
185
193
202
210
217
224
229
233
237
239
240
241
240
238
235
231
226
220
213
206
197
189
180
170
159
149
138
127
118
107
97
87
78
69
62
55
49
44
38
34
31
31
31
31
33
36
40
44
50
57
63
72
81
90
101
111
121
131
142
152
163
173
183
192
199
208
215
222
228
232
236
239
240
240
240
238
236
232
227
222
215
208
199
192
182
173
161
152
141
130
120
110
99
89
79
71
63
57
51
44
39
35
33
31
30
31
33
36
39
43
49
56
63
70
79
88
99
109
119
128
139
150
161
171
181
190
198
206
213
221
226
231
235
238
240
241
240
239
237
233
229
224
216
209
201
193
185
174
164
153
143
133
122
112
101
91
82
73
64
58
51
45
41
35
33
31
27
35
34
29
39
47
47
50
63
70
76
83
94
109
118
125
136
149
159
169
180
188
195
205
212
219
225
230
234
238
240
240
241
241
237
230
229
230
214
206
208
195
184
176
167
157
146
132
125
116
102
94
85
74
65
60
54
46
41
37
34
31
30
30
31
34
37
41
47
53
60
67
75
84
94
104
114
125
135
145
156
166
176
186
195
202
211
218
224
229
233
235
239
241
241
240
237
234
230
225
219
212
204
196
188
179
169
158
148
137
127
116
105
96
86
77
68
60
54
48
43
38
34
31
31
30
31
34
37
40
46
51
58
65
73
82
92
102
112
122
132
143
154
164
174
184
192
200
209
216
224
228
233
235
238
240
241
240
238
236
231
227
220
213
206
198
190
181
171
160
150
139
129
119
108
98
88
79
70
63
56
49
44
39
35
33
31
30
30
33
35
39
44
50
56
63
72
80
90
99
109
120
130
140
152
162
172
182
190
198
206
214
221
227
232
235
238
239
240
240
239
236
233
228
222
215
208
200
192
184
173
164
152
142
132
121
111
101
91
81
72
63
58
50
45
40
35
33
31
31
31
33
34
38
42
48
55
62
69
78
87
97
106
117
127
137
149
159
169
179
189
196
205
213
219
226
231
234
237
240
245
237
234
243
235
226
224
218
211
202
192
185
178
166
154
145
133
123
114
103
92
83
74
66
59
52
46
40
36
33
31
31
31
31
34
37
41
47
54
60
63
76
92
90
100
119
125
135
146
155
171
179
185
195
203
211
218
225
229
233
238
240
240
240
239
238
235
230
225
219
211
203
196
188
178
168
157
147
135
127
116
106
94
84
76
68
61
54
47
42
37
34
31
30
30
31
34
36
40
46
52
59
66
74
83
92
102
113
123
133
144
154
165
175
185
193
202
209
216
224
228
233
237
239
240
241
240
238
235
231
226
220
214
206
198
190
180
170
160
150
139
128
118
108
97
88
78
69
62
56
49
43
38
35
32
31
31
31
33
36
39
45
51
57
63
72
81
90
100
111
121
131
142
152
162
173
183
192
199
208
215
222
227
232
236
239
240
241
241
239
236
232
227
221
216
208
200
192
182
172
162
152
141
130
121
110
100
89
80
71
63
57
50
45
39
35
33
31
30
31
33
35
39
44
49
56
63
70
78
88
98
108
118
128
139
149
160
170
181
190
198
206
214
221
226
231
235
238
240
241
241
239
236
233
228
223
216
209
202
193
185
174
164
154
144
133
123
112
102
93
82
74
65
58
52
46
40
37
33
31
31
31
33
34
38
43
47
54
61
68
76
85
95
106
116
127
137
148
158
168
177
188
196
204
212
218
225
229
234
237
240
240
240
240
237
234
230
224
218
212
204
195
186
177
167
157
145
134
125
115
104
94
85
75
67
60
53
47
42
37
34
31
31
30
31
34
37
41
46
53
60
66
75
83
93
103
114
125
134
145
155
166
176
185
193
202
210
217
224
229
233
236
239
240
240
240
237
235
230
226
219
212
204
197
189
179
169
158
148
137
127
117
107
96
87
77
68
62
54
48
42
38
34
31
30
31
31
33
36
39
45
51
58
65
72
81
91
101
111
122
132
143
153
164
173
184
192
200
208
215
222
228
232
236
239
240
241
240
238
235
231
226
221
214
206
199
192
181
172
161
150
140
129
119
109
98
88
79
70
63
57
49
43
39
35
32
31
31
31
33
35
38
44
49
56
63
71
79
89
98
109
119
129
140
151
161
172
181
190
198
207
214
221
227
231
235
238
240
240
240
239
236
233
228
222
216
208
201
192
184
173
164
153
142
132
122
111
100
90
81
73
65
58
51
45
40
36
33
31
30
31
32
34
38
42
48
55
62
69
78
86
97
106
117
127
137
148
159
169
179
189
196
205
213
219
225
230
235
237
239
240
240
240
236
234
229
224
217
211
203
194
186
176
166
155
145
134
124
113
103
93
83
74
66
57
56
49
36
36
38
32
26
31
35
34
35
40
49
55
59
66
76
85
94
105
114
125
135
146
156
166
176
187
194
203
211
218
225
230
230
236
246
240
235
243
240
231
229
226
220
214
202
195
189
177
167
158
146
135
127
117
105
94
85
77
68
61
53
47
42
38
34
31
30
30
31
33
37
40
46
52
59
66
74
82
92
102
113
123
133
144
154
165
175
185
192
201
209
217
222
228
233
236
240
240
241
240
238
235
231
226
220
213
206
197
190
180
170
160
150
139
128
119
108
98
88
78
69
62
55
49
43
39
35
31
30
30
31
33
36
40
44
51
57
63
71
80
89
99
110
120
130
141
152
162
172
182
192
199
208
214
221
226
232
236
238
240
240
240
238
235
232
227
222
216
208
200
192
183
173
162
152
141
130
121
110
100
89
80
71
63
57
50
45
39
36
33
31
30
31
33
35
39
43
49
56
63
70
78
86
97
108
119
129
139
150
159
171
180
189
197
205
213
220
226
230
235
237
240
240
240
239
237
233
228
223
216
209
201
193
184
175
165
155
144
132
123
113
103
92
82
73
65
59
52
46
40
36
33
31
31
31
31
33
38
47
44
50
67
68
73
85
96
107
115
124
136
150
157
167
178
188
195
205
212
218
225
230
234
237
239
240
241
240
237
234
230
224
218
211
203
195
187
178
168
152
145
143
123
110
108
94
84
75
65
63
55
45
41
37
34
31
31
30
30
35
37
41
45
52
60
66
74
83
93
103
113
124
134
144
155
166
176
185
193
202
210
217
224
229
233
237
239
240
240
240
238
235
231
225
220
212
205
197
189
180
169
158
149
138
127
117
106
97
87
78
69
62
54
48
43
38
35
31
31
31
31
33
36
40
45
51
58
63
72
81
91
101
111
121
131
142
153
163
174
184
192
200
208
216
222
228
232
236
239
240
240
240
238
236
231
227
221
214
207
198
190
181
172
162
151
140
129
119
108
99
88
79
71
63
56
49
44
39
35
33
31
30
31
33
35
39
44
49
56
63
70
80
89
99
109
120
129
140
151
161
172
181
191
198
207
214
221
227
231
235
238
240
241
241
238
236
232
228
222
216
208
200
192
184
173
163
153
143
131
122
111
101
90
81
72
65
58
51
45
40
36
33
30
30
31
31
35
38
43
47
55
62
69
77
86
97
107
117
127
137
148
158
169
179
189
196
205
213
219
225
231
235
238
240
240
240
239
237
233
229
224
218
210
202
193
185
176
166
156
145
134
124
114
103
93
84
75
66
59
52
47
41
37
34
31
30
31
31
34
37
42
47
53
60
67
75
84
94
104
114
126
136
146
156
166
177
187
195
202
210
217
224
229
233
237
239
241
240
240
237
234
230
226
219
212
205
196
188
178
169
158
147
137
127
116
106
96
85
77
68
61
54
48
42
38
34
31
31
30
31
33
37
40
46
52
59
65
73
81
91
102
112
123
132
143
153
164
174
184
193
201
209
216
222
228
233
236
239
240
241
240
238
236
231
227
220
214
206
198
190
181
171
161
150
139
128
118
108
98
88
78
70
63
55
49
44
40
35
32
30
30
31
32
35
39
45
50
57
63
71
79
90
99
110
120
130
141
151
162
172
183
191
199
207
215
221
227
232
235
238
240
241
241
239
236
232
227
222
216
208
200
192
183
173
163
152
141
130
121
111
100
90
80
72
63
57
50
44
40
36
33
31
30
30
31
34
38
43
49
55
62
69
78
88
97
108
118
128
139
149
160
170
180
189
197
205
213
220
226
231
235
238
240
240
240
239
237
233
229
224
217
209
202
193
185
175
165
155
144
133
122
112
102
92
83
74
65
59
52
46
40
37
34
31
30
30
31
34
37
42
47
54
61
67
76
85
95
105
115
126
135
146
157
167
177
187
195
204
211
219
224
229
234
237
240
241
241
239
238
234
230
225
219
212
204
195
187
178
168
158
146
136
126
112
109
97
80
75
73
61
48
49
44
37
31
30
33
32
30
33
37
41
46
52
58
65
74
83
92
103
113
123
133
144
155
166
176
185
190
200
216
215
217
232
235
234
239
241
243
241
235
234
233
225
220
214
205
196
189
180
169
159
149
139
128
117
106
97
87
77
69
62
55
48
43
38
35
31
30
30
31
33
36
40
45
51
57
63
72
81
90
101
111
121
131
142
152
162
173
183
192
200
208
215
221
227
232
236
239
240
241
240
238
236
232
227
221
214
208
199
192
182
172
162
152
141
130
120
110
99
89
80
71
63
56
50
44
39
35
33
31
31
31
32
35
39
44
49
56
63
70
79
88
98
109
120
129
139
149
160
171
181
191
198
206
214
220
226
231
235
238
241
240
240
238
236
233
228
223
216
209
201
192
184
174
163
153
143
132
122
111
101
91
82
73
63
57
51
45
40
36
33
31
30
31
32
35
38
43
49
55
62
68
77
86
97
107
117
127
137
148
158
168
179
189
196
205
212
219
225
230
234
237
240
241
240
239
237
234
229
224
218
209
202
196
190
172
164
163
144
132
125
115
105
93
81
75
68
59
52
47
41
37
35
31
29
30
31
34
38
42
46
53
60
66
75
84
93
104
114
124
134
145
156
166
172
186
202
199
206
221
224
229
233
235
242
242
239
240
238
234
230
227
218
211
205
197
188
178
168
159
149
136
127
116
106
96
87
77
68
61
54
47
42
38
34
32
30
30
31
33
36
40
45
51
58
65
73
81
91
102
112
122
132
143
153
164
175
184
192
200
208
216
222
228
232
236
239
240
241
240
238
235
232
226
220
214
206
198
190
181
171
161
151
139
129
118
108
98
88
79
70
63
56
48
43
39
35
32
30
30
31
33
35
39
44
50
56
63
71
79
89
99
110
120
130
140
151
162
172
182
191
199
207
214
221
227
231
236
238
240
240
240
238
236
232
228
222
215
208
199
192
183
173
163
152
142
130
121
111
100
90
80
72
63
57
49
44
40
35
33
31
30
31
31
35
38
43
48
55
62
69
78
87
97
107
117
127
138
149
159
170
180
189
197
205
213
220
226
230
235
238
240
240
240
238
237
233
229
224
217
210
201
193
185
175
165
155
144
133
123
112
103
93
83
73
66
59
52
46
41
37
33
31
30
30
31
34
37
42
47
54
60
67
76
85
95
105
115
125
136
146
157
167
177
187
195
203
210
218
224
230
234
237
239
240
240
239
237
234
230
225
219
211
204
195
188
178
168
157
147
136
126
116
105
94
85
76
67
60
54
47
42
38
34
31
31
30
31
34
37
41
46
52
59
66
74
83
92
103
113
123
133
143
154
165
176
185
193
201
209
216
223
228
232
237
239
240
240
240
238
235
231
226
220
213
206
197
190
180
170
160
149
138
128
118
108
98
87
78
69
62
55
48
43
38
35
31
30
30
31
33
36
40
45
51
57
63
71
81
90
101
111
121
131
141
152
162
173
182
192
200
208
215
222
228
232
236
239
240
240
240
238
236
232
227
221
215
208
199
192
182
172
162
151
141
130
120
110
99
89
80
71
63
57
50
44
39
36
33
31
30
30
33
36
39
44
49
56
63
70
79
88
98
108
119
128
139
150
160
171
181
190
198
206
213
220
226
231
235
238
240
241
241
239
237
233
228
223
217
209
201
193
184
175
164
154
143
133
122
112
101
92
83
73
65
58
51
46
41
37
34
31
30
30
31
34
38
43
47
54
61
68
76
86
95
106
116
127
137
147
158
168
178
188
196
204
212
219
225
230
234
238
240
240
240
240
238
233
229
224
218
211
203
194
187
177
167
157
145
134
124
115
104
94
84
75
66
60
52
46
41
37
34
31
30
30
31
34
37
41
47
53
60
67
74
84
93
104
114
125
134
145
156
166
176
186
194
202
211
217
224
229
234
236
239
241
241
240
237
235
231
226
219
212
204
196
189
184
169
154
152
140
123
115
109
98
84
74
68
63
54
47
43
39
35
33
30
29
31
34
36
39
45
51
58
63
73
82
91
103
109
119
137
145
147
164
178
182
192
200
210
218
221
226
234
236
238
240
240
239
238
237
232
226
220
214
207
198
190
181
171
161
150
139
128
119
109
98
88
79
70
63
56
49
43
39
35
32
30
30
31
33
35
39
44
50
56
63
71
79
89
99
110
120
129
140
151
162
172
182
192
198
206
214
221
227
232
235
238
240
241
240
239
236
233
228
222
216
208
200
192
184
174
164
153
143
132
121
111
100
91
81
72
63
57
51
45
40
36
33
31
30
31
33
34
39
43
48
55
62
69
78
87
97
108
117
127
137
148
159
170
180
189
197
204
213
219
225
231
235
238
240
240
240
239
237
234
229
224
217
210
202
194
185
175
165
155
144
133
124
113
103
93
83
74
65
59
52
46
41
37
34
31
30
30
31
34
38
42
47
52
60
66
75
86
94
103
119
127
128
147
162
165
175
188
196
204
209
215
226
231
233
237
240
240
241
240
236
233
230
225
219
212
203
196
188
178
168
158
147
136
127
116
105
95
86
77
66
56
58
52
36
39
37
31
31
28
31
37
36
39
46
51
58
65
73
81
92
104
113
123
132
144
155
165
174
185
193
201
209
216
223
228
233
237
239
240
240
240
238
235
231
227
220
214
205
197
189
180
171
160
149
138
127
118
108
98
88
78
69
62
55
49
43
39
34
32
30
30
30
33
36
40
45
50
57
63
71
80
90
100
110
121
130
141
152
162
173
183
192
199
207
215
222
227
232
236
239
240
241
240
238
236
232
227
221
215
208
199
192
183
173
162
151
141
130
121
110
100
90
80
71
63
57
49
44
39
34
33
31
30
31
33
34
40
44
49
56
63
69
79
88
98
108
118
129
139
149
159
171
181
190
198
205
213
220
227
231
235
238
240
240
240
239
237
234
229
224
216
209
202
193
185
175
165
154
144
132
123
112
103
92
82
73
63
58
52
46
41
36
33
31
30
31
31
34
37
42
48
54
61
68
77
86
96
106
116
127
136
147
157
168
178
187
195
204
211
219
225
230
235
237
239
240
240
240
237
234
230
225
218
211
203
194
187
178
167
157
146
134
125
114
104
94
85
75
66
60
53
47
42
37
34
31
30
30
31
34
37
41
47
52
59
66
75
83
93
103
114
124
134
144
155
166
176
186
193
202
209
217
224
229
233
236
240
240
240
240
238
235
231
225
219
212
205
197
189
180
170
159
148
137
127
117
107
97
87
77
69
62
55
47
43
38
35
31
30
30
31
33
36
40
45
51
58
63
72
81
92
101
111
121
131
142
153
163
174
183
192
200
208
215
222
228
232
236
238
240
240
240
238
236
232
227
221
214
207
199
192
182
172
161
151
140
129
120
109
98
89
79
70
63
56
49
44
39
35
33
31
30
31
33
36
39
44
49
56
63
70
79
89
99
109
119
129
139
150
161
172
181
191
198
207
214
221
227
232
236
238
240
241
240
239
236
233
228
222
216
208
201
192
184
174
164
153
142
132
122
111
101
91
82
72
63
58
51
45
41
36
32
31
30
31
32
35
38
43
48
54
61
68
77
87
96
106
117
127
137
148
158
169
179
188
196
205
212
219
225
230
235
237
240
241
240
239
237
234
229
224
217
210
202
194
186
177
166
156
144
134
125
114
104
94
83
74
66
60
53
47
41
37
34
31
30
31
31
34
37
41
47
53
60
66
75
84
94
104
114
125
135
145
156
167
177
186
194
203
210
218
224
229
234
237
239
240
240
240
238
235
231
225
219
212
204
196
189
180
169
158
147
137
127
117
106
96
86
76
68
61
54
48
43
38
34
31
31
30
31
34
37
41
46
52
58
65
73
82
92
102
112
123
132
143
154
164
175
184
192
201
208
217
222
227
234
240
236
237
245
242
235
235
234
227
217
211
208
200
189
179
171
161
150
139
128
118
108
99
88
78
70
62
56
49
44
40
35
34
28
27
36
34
30
40
48
48
56
64
73
82
88
98
112
121
129
141
152
161
173
184
192
198
207
216
222
228
232
235
238
240
241
240
239
236
232
228
221
215
208
199
192
183
173
163
152
141
130
121
110
100
90
80
71
63
57
50
44
39
36
33
31
30
30
32
35
39
43
49
55
63
69
79
88
98
108
118
129
138
149
161
171
180
189
197
205
214
220
226
230
235
238
240
240
240
239
236
233
228
224
216
209
201
193
185
175
165
154
143
133
123
112
102
92
83
74
65
58
52
46
41
37
33
31
30
30
31
34
38
42
47
54
61
67
76
86
95
105
115
126
136
147
157
167
177
187
195
203
211
218
225
230
234
237
239
240
241
240
237
234
230
224
218
211
203
195
187
177
167
157
146
135
126
115
103
99
86
69
69
63
50
45
43
38
35
29
29
32
33
33
37
41
45
53
60
65
74
83
93
103
113
123
133
144
155
166
176
185
193
202
210
217
224
230
235
235
234
245
246
232
238
238
230
226
219
213
209
197
188
180
169
158
149
139
126
117
108
97
86
77
69
62
55
49
43
38
34
31
31
31
31
33
36
40
45
51
57
63
72
81
91
100
111
121
131
142
153
163
174
183
192
200
208
215
222
228
232
236
239
240
240
240
238
236
232
227
221
215
207
199
192
182
172
161
151
140
129
120
110
99
88
79
70
63
57
50
44
39
35
32
31
30
30
33
36
39
44
49
55
63
70
79
89
98
108
119
129
140
150
161
171
181
190
198
207
213
221
227
232
235
238
240
240
240
239
236
232
228
222
217
209
201
192
184
174
163
153
143
133
122
111
101
91
81
72
63
58
51
46
40
36
33
31
31
31
32
35
38
43
48
54
61
68
77
86
96
106
117
127
137
147
158
169
179
188
197
204
212
219
225
231
234
238
240
241
240
240
237
233
229
224
218
211
203
194
186
176
166
155
145
134
124
114
104
93
83
74
66
60
52
47
41
37
34
31
30
30
31
34
37
42
47
53
60
67
75
84
94
104
114
125
135
145
156
167
176
186
194
202
211
218
225
229
233
237
239
240
241
240
237
235
230
225
219
212
205
196
188
179
169
158
148
137
127
117
106
96
86
77
68
61
54
47
42
38
34
31
31
31
31
33
37
40
46
51
59
65
73
82
91
102
112
123
133
144
154
165
174
184
192
201
209
216
223
228
232
236
239
240
240
240
238
235
231
226
220
214
206
198
190
181
171
161
150
139
129
118
108
98
88
79
70
63
55
49
44
39
35
33
31
30
31
33
35
40
44
50
57
63
71
80
89
99
110
120
131
141
151
162
172
182
191
199
207
215
221
227
231
236
238
240
240
240
239
236
233
228
222
215
208
200
192
183
173
163
152
142
130
121
110
100
90
80
72
63
57
51
45
40
36
33
31
30
31
33
35
38
43
49
55
63
69
78
87
97
107
118
127
138
149
159
170
180
189
197
205
213
220
226
231
235
237
240
241
240
238
237
233
229
224
217
210
202
194
185
175
165
155
144
133
124
112
102
92
83
73
65
59
52
46
40
36
33
31
30
31
31
34
38
42
47
53
61
67
76
85
95
105
115
126
136
147
157
168
178
188
195
204
211
218
225
230
234
237
239
240
240
240
237
234
230
225
219
212
203
196
187
178
167
157
146
136
127
116
105
94
84
75
68
61
54
47
42
37
34
31
30
30
31
34
36
41
46
52
59
66
74
83
93
103
113
123
133
144
155
165
175
185
193
202
210
217
223
229
233
237
239
240
241
240
238
235
231
226
220
213
206
197
189
180
169
159
149
138
127
117
107
97
86
77
69
62
55
48
43
38
35
31
31
31
31
33
36
40
45
50
57
63
72
80
90
101
108
126
132
136
155
166
173
179
193
202
207
212
221
230
234
235
238
241
242
241
239
235
231
227
222
214
207
199
192
182
172
161
151
141
130
116
109
105
86
75
75
64
54
49
45
41
37
30
30
31
29
31
36
38
42
50
57
63
69
79
89
98
108
118
129
139
150
160
171
181
190
198
207
214
221
226
231
235
238
240
241
240
238
236
232
228
222
216
209
201
192
184
174
164
154
143
132
123
112
102
91
82
72
63
58
52
45
40
36
33
31
30
31
31
35
38
43
47
54
61
68
77
86
95
106
117
127
137
148
158
168
178
188
196
205
212
218
225
230
234
237
240
240
241
239
237
233
229
224
218
211
203
194
187
176
166
156
145
134
124
114
103
94
84
75
66
60
53
47
42
37
34
31
30
30
31
34
37
42
46
53
60
67
75
84
93
103
115
125
134
145
156
166
176
185
194
201
209
219
228
224
231
243
238
238
241
242
239
233
227
226
222
211
204
196
188
179
170
158
147
137
127
117
106
96
85
77
68
61
54
48
42
38
34
31
31
31
32
33
31
41
53
47
55
68
72
82
90
100
115
123
130
143
153
163
174
184
192
199
210
217
222
227
232
236
239
240
241
240
237
235
232
227
221
214
206
198
191
181
172
161
150
139
129
119
109
98
88
79
70
63
56
49
43
38
35
33
31
30
30
32
35
39
45
49
56
63
71
80
89
98
109
119
129
141
151
161
172
182
191
198
206
214
221
226
232
236
238
240
241
240
239
236
233
228
222
216
208
200
192
184
174
164
152
142
132
122
111
100
90
81
72
63
58
51
45
40
36
32
31
30
30
33
35
39
43
48
54
62
69
78
87
96
107
117
127
138
148
159
170
180
189
196
205
213
219
226
230
235
238
240
240
240
239
237
233
229
224
217
211
203
194
185
175
165
155
144
133
123
113
103
92
83
74
65
59
52
46
40
36
33
31
30
30
31
34
37
42
47
54
61
67
76
85
94
105
115
126
135
146
157
167
177
187
195
203
211
218
225
229
234
237
239
241
241
240
237
234
230
225
219
212
204
195
187
178
167
157
147
136
127
115
105
95
85
76
67
61
53
47
42
37
34
31
30
30
31
33
36
41
46
52
59
65
74
82
92
102
113
123
133
144
154
165
175
185
193
202
210
217
222
228
233
237
240
240
240
240
238
235
231
226
220
213
205
197
189
180
170
160
149
138
127
118
107
97
87
78
69
62
55
48
43
39
35
32
30
30
31
34
36
40
45
50
57
63
71
80
90
99
110
121
131
141
152
162
172
183
192
200
208
215
221
227
232
236
238
240
241
240
238
236
232
227
222
215
208
199
192
182
172
162
151
141
130
120
110
99
89
80
71
63
57
50
44
39
35
33
31
30
31
33
35
39
43
49
56
63
69
78
87
98
109
119
129
138
149
160
170
180
190
197
206
214
220
226
230
235
238
240
241
240
239
237
233
228
223
216
209
201
193
184
175
164
154
143
132
123
112
102
91
82
73
65
58
51
45
41
36
33
31
31
31
31
34
37
43
48
54
61
68
76
85
95
106
116
127
137
147
158
168
178
188
196
204
212
219
225
230
234
237
239
240
240
239
237
233
229
224
218
211
203
195
187
177
167
157
145
135
125
114
104
94
84
75
67
60
53
46
41
37
34
31
30
30
31
34
37
41
46
52
59
66
74
83
93
103
114
124
134
144
155
166
176
186
194
202
210
217
224
229
233
237
239
241
240
240
237
235
231
226
220
212
204
196
189
179
170
159
149
138
127
116
106
97
87
78
68
62
54
48
43
38
34
31
31
30
31
33
36
39
45
52
58
65
72
82
91
101
111
122
132
142
153
163
174
184
192
200
208
216
222
228
232
236
238
240
241
240
238
236
231
227
221
214
207
198
190
181
172
161
150
139
129
119
108
99
89
80
70
63
56
50
44
39
35
31
31
30
31
33
40
38
40
53
59
61
68
82
91
97
106
121
132
141
149
162
173
181
192
198
206
214
222
228
231
235
238
241
241
240
238
235
235
226
219
220
210
195
192
188
173
161
153
143
134
120
109
102
91
80
73
63
56
51
46
40
35
33
31
31
31
31
35
38
43
48
55
62
69
78
87
97
107
117
127
138
148
159
169
179
189
197
206
212
219
225
231
235
238
239
240
240
239
237
233
229
224
217
210
202
194
186
176
166
156
145
134
124
113
103
93
83
74
66
59
52
46
41
37
34
31
30
30
31
34
37
42
47
53
60
67
75
84
94
105
115
126
135
145
156
166
177
187
195
203
210
218
224
229
234
237
240
240
241
239
237
234
230
225
219
212
204
195
188
178
168
157
147
136
126
116
105
95
85
76
67
61
54
47
42
38
34
31
30
35
29
29
42
43
44
51
60
66
73
79
92
105
113
122
132
144
154
165
175
183
192
201
209
216
223
227
233
237
239
240
241
240
238
235
231
227
221
214
208
194
188
188
171
154
152
140
127
118
106
100
90
77
68
63
55
49
44
38
33
34
33
30
30
31
36
41
45
50
57
63
70
80
91
99
110
121
130
141
151
162
173
182
192
199
208
215
221
227
232
236
238
240
241
240
238
236
233
227
221
216
208
200
192
183
173
162
152
142
130
121
110
99
90
81
72
63
57
50
45
40
36
33
31
30
31
31
35
38
43
48
56
62
70
78
87
98
108
119
128
139
149
160
170
180
189
197
206
214
220
226
231
235
238
240
240
240
240
237
233
229
224
217
209
202
193
185
175
165
155
144
132
122
112
102
93
82
74
65
58
51
46
40
36
33
31
31
30
31
34
38
42
48
54
61
68
76
86
95
106
116
127
136
147
157
168
178
187
195
204
212
219
225
230
234
237
240
241
240
239
237
234
230
225
218
211
203
194
187
178
167
156
146
135
126
115
104
94
84
75
66
60
53
47
41
37
34
31
31
30
31
34
37
41
46
52
59
66
75
84
93
103
114
124
134
145
155
166
176
185
194
202
210
217
224
229
233
237
240
240
240
239
238
236
231
225
219
213
206
197
188
178
169
159
149
137
127
117
107
97
87
77
69
62
54
48
43
38
35
32
31
30
31
33
36
40
45
51
58
63
72
81
91
101
112
122
131
141
152
163
173
184
192
200
208
215
222
228
233
236
238
239
240
240
239
235
231
227
221
215
207
199
192
182
172
161
150
140
129
120
109
99
89
79
71
63
56
50
44
39
35
33
31
30
31
32
35
39
44
50
56
63
70
79
89
99
110
119
129
139
150
161
172
182
190
198
206
214
220
226
231
234
237
240
240
240
239
236
233
228
222
216
209
201
192
184
174
164
153
142
132
122
111
101
91
81
73
63
58
51
45
40
37
33
31
30
30
31
34
38
43
48
54
61
67
77
87
97
106
116
127
137
148
158
169
178
188
196
204
212
219
225
230
235
237
240
240
240
239
237
234
229
224
217
210
202
194
186
176
166
156
145
134
124
114
103
93
84
74
66
59
52
47
41
38
34
31
30
30
31
34
38
41
47
52
60
67
75
84
93
103
114
125
135
146
156
167
177
186
195
203
210
218
224
229
234
237
240
240
240
240
238
235
231
225
219
212
204
196
188
179
169
158
147
137
127
116
106
96
86
77
68
60
54
48
43
38
34
31
30
30
31
34
36
40
45
51
58
65
73
82
92
102
112
123
132
143
154
164
174
184
192
201
209
216
223
228
233
237
239
240
241
240
238
235
231
226
221
214
206
198
190
181
171
161
150
138
127
119
108
98
88
78
69
63
56
49
43
38
34
32
31
30
31
33
36
39
44
50
57
63
71
80
90
99
110
120
131
141
151
162
172
182
192
199
208
215
221
227
232
236
238
240
241
240
238
236
233
228
222
215
208
199
192
183
173
162
152
141
131
121
110
100
89
80
71
68
56
46
48
43
33
30
34
33
29
29
35
41
43
47
55
63
69
79
87
97
107
118
128
138
149
159
170
180
190
198
206
215
217
222
236
238
233
238
245
239
237
238
234
232
221
215
211
202
192
185
176
164
154
145
134
122
112
103
93
83
73
65
58
51
46
41
36
34
31
30
31
31
34
38
42
47
54
60
67
76
85
95
105
115
126
136
147
157
167
178
187
195
203
210
218
225
231
234
237
239
240
241
240
237
233
230
224
219
211
203
195
188
178
168
157
146
135
126
115
105
94
84
76
67
60
53
47
42
37
33
31
31
31
31
33
36
41
46
53
59
65
74
83
93
103
113
123
133
144
155
166
175
185
193
201
210
217
222
228
233
237
239
240
240
240
236
234
233
230
215
210
211
197
187
180
171
161
148
135
127
120
107
96
88
78
69
63
54
47
43
38
34
31
31
30
31
33
36
41
45
51
57
63
72
81
91
100
110
117
132
149
147
159
176
183
192
199
208
218
223
226
233
236
238
240
241
238
237
237
232
226
220
214
208
199
192
182
172
162
150
140
130
119
110
99
89
79
70
63
56
50
44
39
35
31
30
30
31
33
36
39
43
48
56
63
70
79
88
98
109
119
128
139
150
160
171
181
190
198
206
214
221
227
232
235
238
240
241
240
239
237
232
228
223
216
208
201
192
184
174
164
153
143
132
122
111
101
92
82
72
63
58
51
45
40
36
33
31
31
31
31
34
38
42
48
54
61
68
77
86
96
106
116
127
137
148
158
169
179
189
196
204
212
218
226
230
235
238
240
240
240
239
237
234
229
224
217
211
202
194
187
177
166
155
144
134
125
114
104
93
83
74
66
60
52
46
41
37
33
31
30
30
31
34
38
41
47
53
60
67
75
84
94
104
114
125
135
146
156
167
176
186
195
203
210
218
224
229
234
237
240
240
240
240
237
235
231
226
219
212
204
196
188
179
168
158
147
136
127
116
106
95
86
76
68
61
54
47
42
38
34
31
30
30
31
33
37
40
45
52
58
65
73
82
92
102
112
123
132
143
154
164
174
184
192
201
209
216
222
229
233
237
239
240
241
240
238
235
231
226
221
213
206
198
190
181
171
161
150
139
128
119
108
98
88
79
69
63
56
49
43
38
35
31
31
30
31
33
35
40
45
50
57
63
71
80
89
99
109
121
130
140
151
162
172
182
192
199
207
214
221
227
231
235
238
240
240
240
238
236
232
228
222
215
208
200
192
183
173
163
153
142
131
121
111
100
90
81
71
63
57
51
45
40
36
33
31
30
31
32
35
38
43
49
55
62
69
78
87
97
108
118
128
138
148
159
170
180
189
197
205
213
220
225
230
234
238
240
241
240
239
237
233
229
224
217
209
202
193
186
175
165
155
144
134
124
113
103
93
82
74
65
59
52
47
41
37
34
31
31
31
31
34
38
42
47
53
60
67
75
85
95
105
115
126
136
146
156
167
177
186
195
203
211
218
225
230
234
237
240
241
240
240
237
234
230
225
218
212
204
195
188
178
168
157
147
136
126
116
105
95
85
76
67
60
53
47
42
38
34
31
31
30
31
33
37
40
46
52
59
65
74
82
92
102
113
124
133
144
154
165
175
185
193
202
210
216
224
228
233
236
239
240
241
240
238
235
231
226
220
214
205
197
190
180
170
160
149
139
127
118
108
97
87
78
69
62
55
49
43
38
35
31
30
31
31
33
36
39
45
50
57
63
73
81
91
100
111
121
131
141
152
162
173
183
192
199
208
215
222
227
232
236
239
240
241
240
239
235
232
227
221
215
207
199
192
183
173
162
151
140
130
120
110
99
89
80
71
63
57
49
44
39
36
33
31
31
31
33
35
39
44
49
56
63
70
79
88
98
108
118
129
139
150
161
171
180
190
198
206
213
220
226
231
235
238
240
241
240
239
237
233
228
224
215
210
201
192
186
178
161
151
147
134
118
111
104
93
79
70
67
60
51
44
41
37
33
31
30
30
31
35
38
42
48
54
61
68
77
87
96
107
113
125
143
147
153
170
181
187
194
205
214
221
224
229
236
237
239
242
241
238
238
235
230
224
218
211
203
194
186
176
167
156
145
135
125
115
104
94
84
75
66
59
53
47
42
36
34
31
30
30
31
34
37
41
47
53
60
66
75
84
94
104
114
125
134
145
156
166
176
186
194
202
210
218
224
229
233
237
240
240
240
239
237
235
231
226
220
212
205
196
189
179
169
158
148
137
127
117
106
97
86
77
68
61
54
48
43
38
35
31
30
30
31
33
36
40
45
51
59
63
71
86
94
97
109
127
132
139
154
165
175
183
190
200
212
215
221
228
232
236
240
240
240
240
238
236
232
226
220
214
206
198
191
181
171
161
151
139
129
121
109
98
83
81
77
58
54
53
43
39
34
32
34
31
30
34
36
39
44
50
56
63
72
80
89
99
109
121
130
140
150
162
171
181
191
199
206
214
221
227
232
235
238
240
240
240
239
236
232
227
222
217
208
200
192
183
174
164
153
142
131
121
111
100
91
81
73
63
57
51
45
40
35
33
31
30
30
32
35
38
43
49
55
62
68
77
86
97
107
117
127
137
149
159
169
179
188
197
205
212
219
225
230
235
237
240
240
240
239
237
233
229
224
217
210
202
194
186
176
166
155
145
134
124
113
103
93
83
74
66
59
52
47
41
37
33
31
30
30
31
34
37
42
47
53
60
67
75
84
94
104
114
125
135
145
156
167
177
186
195
203
211
218
224
229
234
237
240
240
241
239
237
234
230
225
219
212
204
196
188
178
168
158
147
136
126
116
105
95
85
76
67
60
53
47
42
38
34
31
30
30
31
33
37
40
46
51
59
65
74
82
92
102
112
123
132
143
154
165
175
184
192
201
209
216
222
228
233
236
239
240
241
240
238
235
231
226
220
213
206
197
190
180
170
160
149
138
128
118
107
97
87
78
69
63
55
49
43
38
34
31
30
30
31
33
35
40
45
50
57
63
71
80
90
100
110
121
131
141
152
162
172
182
192
199
207
215
222
227
232
235
239
240
241
240
239
236
232
227
222
214
207
199
192
182
172
162
152
141
131
121
110
100
89
80
71
63
57
50
44
39
36
33
31
30
31
32
35
39
43
49
56
63
69
79
87
97
108
118
128
139
150
160
171
180
189
197
206
213
220
226
231
235
238
240
240
240
239
236
233
229
224
216
209
201
193
185
175
165
154
144
133
123
112
102
92
82
73
65
59
52
46
41
36
33
31
30
31
31
34
38
42
47
54
61
68
76
85
95
105
116
126
136
147
157
168
178
188
195
203
211
218
225
230
234
237
240
241
241
240
238
234
230
225
218
211
203
195
187
177
167
156
146
135
125
114
105
94
84
75
67
60
53
47
42
37
34
31
30
31
31
34
37
41
46
52
60
66
75
83
93
103
114
124
134
144
155
166
176
186
194
202
210
218
224
229
233
237
239
240
241
239
238
235
231
226
220
213
205
196
189
179
169
159
148
137
127
117
106
97
87
77
68
61
55
48
43
38
34
31
31
31
31
33
36
40
45
51
57
63
72
81
91
101
111
122
132
142
153
163
174
183
192
200
208
216
223
229
232
236
239
240
241
240
238
235
232
227
221
214
207
199
190
181
171
162
150
140
129
120
109
98
88
79
70
63
56
49
44
39
35
33
30
30
31
31
35
39
44
50
57
63
71
80
89
99
109
120
129
140
151
162
172
182
191
199
207
215
221
227
231
236
238
240
240
240
239
236
232
228
222
216
208
201
192
183
173
164
153
142
131
122
111
100
91
81
72
63
57
51
45
40
36
33
31
30
31
33
35
38
43
48
54
62
69
78
87
97
107
117
127
138
149
159
170
179
189
197
205
213
219
225
231
232
241
241
236
241
244
237
229
230
226
217
208
201
196
187
175
165
156
144
133
124
112
102
93
83
74
66
59
52
46
41
37
34
33
30
26
33
40
34
38
51
55
58
66
76
87
95
101
115
126
134
146
157
166
176
188
195
203
210
218
225
230
233
237
239
240
240
239
237
234
231
225
218
211
204
195
188
179
168
158
147
136
126
115
105
95
85
76
68
61
54
47
42
37
35
31
30
30
31
34
36
41
46
52
59
65
73
83
92
102
113
123
133
143
154
165
175
184
192
202
209
217
223
228
233
236
239
240
240
239
238
235
231
226
220
213
206
197
189
180
172
159
147
143
130
112
108
103
87
75
70
63
56
47
41
40
37
31
30
31
31
34
36
39
44
51
57
63
72
79
89
100
110
120
130
141
152
162
173
182
192
200
208
213
216
231
237
229
238
244
240
240
237
236
236
227
220
215
208
199
192
183
172
162
154
142
130
120
111
101
90
81
71
63
57
50
45
40
35
33
31
30
31
32
35
38
43
49
55
63
69
78
87
97
108
118
127
138
149
160
170
180
189
197
206
213
220
226
231
235
238
240
241
240
239
237
233
229
224
217
209
201
193
185
175
165
154
144
133
123
113
102
92
83
73
65
59
52
46
41
36
34
31
30
30
31
35
38
42
47
53
61
67
76
85
95
106
116
126
136
147
157
168
178
187
195
203
211
218
225
230
234
237
240
240
241
239
238
234
230
224
218
212
205
195
187
177
167
157
146
136
125
115
104
94
85
75
67
60
53
47
42
37
34
31
30
30
31
34
36
41
46
53
59
66
74
83
93
103
114
124
133
144
155
166
176
185
194
202
210
217
224
229
233
237
239
240
241
240
238
235
231
226
220
213
205
197
189
179
170
159
148
138
127
117
107
97
87
77
69
62
55
48
43
38
35
32
31
31
31
33
36
40
45
51
57
63
72
81
91
101
111
122
131
142
153
164
174
183
192
200
208
215
222
228
232
236
239
240
241
241
238
236
232
227
222
215
207
199
192
182
172
161
151
140
129
120
109
99
89
80
71
63
56
50
44
39
35
33
31
30
31
32
36
39
45
49
56
63
70
79
88
98
109
119
129
139
150
161
171
181
190
198
207
214
221
226
231
235
239
240
241
240
239
236
233
228
222
216
208
200
192
184
174
164
154
143
132
122
112
101
91
82
73
64
58
51
45
41
36
33
31
31
31
31
35
38
43
48
55
62
68
77
86
96
106
117
127
137
148
158
168
179
188
196
205
212
219
225
231
235
238
239
240
240
239
237
234
230
224
218
211
203
194
186
177
166
156
145
135
124
114
103
94
84
74
66
59
53
47
41
37
34
31
31
31
31
34
37
42
47
53
60
67
75
84
93
104
114
125
135
145
156
167
177
186
194
203
211
218
224
230
234
237
239
241
241
240
237
234
230
225
219
212
205
196
188
179
169
158
147
137
126
116
106
96
86
77
68
61
54
48
42
37
34
33
31
30
31
33
36
40
45
51
58
65
73
82
92
102
112
122
132
143
154
164
175
184
192
201
209
216
222
228
233
237
239
240
241
240
238
236
232
227
221
214
206
198
190
180
171
160
150
139
129
119
108
98
88
79
70
63
56
49
43
39
35
32
30
30
31
33
36
39
44
50
56
63
71
80
89
100
110
120
130
140
151
162
172
182
191
199
207
214
222
227
232
235
239
240
241
240
239
236
233
228
222
216
208
200
192
184
174
163
153
142
131
121
111
100
90
81
72
63
57
50
45
40
35
33
30
30
30
32
35
38
43
48
55
63
69
77
86
97
107
118
127
137
149
159
170
179
189
196
205
213
219
226
230
235
237
240
240
240
239
237
234
229
224
217
210
202
193
185
176
166
155
144
133
124
113
103
92
82
73
65
59
52
46
41
37
34
31
31
30
31
34
38
42
47
53
60
67
75
85
94
104
116
126
134
147
161
165
173
192
198
199
209
221
227
227
231
238
242
241
239
240
238
234
230
225
217
211
204
196
187
178
168
157
146
136
127
116
108
91
83
81
68
55
54
52
39
36
34
34
33
28
30
35
36
40
47
52
58
65
75
83
92
102
113
124
133
143
154
165
175
185
193
201
209
217
223
228
233
237
239
240
240
240
238
235
231
225
220
213
206
198
190
180
170
160
149
138
127
118
107
97
87
78
69
62
55
48
43
38
35
31
31
30
31
33
35
39
44
51
57
63
72
81
90
100
111
121
131
141
151
163
172
180
196
201
201
215
227
227
229
236
239
241
239
237
240
238
231
226
222
215
208
200
192
181
173
162
152
141
130
120
110
100
89
80
71
63
57
50
44
39
37
34
28
26
36
36
29
39
47
49
56
61
71
82
87
97
108
118
128
140
150
158
170
182
190
197
206
214
222
226
231
236
238
240
240
241
239
236
233
229
223
216
209
201
193
185
175
164
154
143
132
122
112
101
91
82
73
65
58
51
45
40
36
34
31
31
30
31
35
38
43
47
54
61
68
76
86
96
106
116
127
136
147
158
168
179
188
196
205
212
219
225
230
234
238
240
240
240
239
237
234
230
224
218
211
203
194
187
177
167
156
145
134
125
114
104
94
84
75
67
60
53
47
42
37
34
31
30
30
31
34
37
41
46
53
59
66
75
84
93
104
114
125
134
145
156
166
176
186
194
202
211
217
224
229
234
237
240
241
240
240
238
235
230
226
219
213
205
196
188
179
169
158
148
137
127
116
107
96
86
77
68
61
54
48
42
38
34
31
31
30
31
34
36
40
46
51
58
63
72
81
91
102
111
122
132
143
153
164
174
184
192
201
208
216
222
228
232
236
239
240
241
240
239
236
232
227
221
214
206
198
190
181
171
161
150
139
129
119
109
98
88
78
70
63
55
49
44
40
35
31
30
31
31
33
35
39
44
50
56
63
71
80
89
99
110
120
130
140
151
161
172
182
192
199
207
214
221
227
231
236
238
240
241
241
239
236
232
228
222
216
208
200
192
183
174
163
152
142
131
122
111
100
90
81
72
63
57
50
45
39
36
33
31
30
31
31
35
38
43
49
55
62
69
78
87
97
107
118
127
138
148
159
170
180
189
197
205
212
220
225
231
235
238
240
241
240
239
237
233
229
224
217
210
202
194
185
176
165
156
144
134
123
113
103
92
83
73
66
59
52
46
41
37
34
31
30
31
31
34
37
42
47
54
60
67
75
85
95
105
115
126
135
145
156
167
177
187
195
203
211
218
224
229
233
236
239
240
240
240
237
235
230
225
219
212
204
195
188
178
168
158
147
136
127
116
105
95
85
76
67
61
54
48
42
38
34
31
31
30
31
34
36
41
46
52
59
65
73
82
92
102
112
123
133
144
154
165
174
184
192
201
209
216
224
228
233
236
239
241
241
240
238
235
231
226
220
213
206
197
190
180
171
160
150
139
128
118
107
97
87
78
69
62
55
49
43
38
35
32
31
30
31
33
36
39
45
50
57
63
72
80
90
100
111
121
131
141
152
163
173
183
192
200
208
215
222
228
232
236
239
240
241
240
238
236
232
227
221
215
208
199
192
182
172
162
152
141
130
120
110
99
90
80
72
63
56
50
44
40
35
33
30
30
31
33
34
39
43
49
55
63
70
79
88
98
108
118
128
139
149
160
171
181
190
198
206
214
220
226
231
235
238
240
241
240
239
236
233
228
224
216
209
201
192
185
176
165
154
143
132
123
112
102
92
82
73
65
58
51
45
40
36
33
31
30
30
31
34
38
43
48
54
61
68
77
86
96
106
116
127
136
148
158
169
178
188
196
204
212
219
225
230
235
237
240
240
241
239
237
234
230
225
218
211
202
194
186
177
167
157
146
135
125
114
103
93
84
75
66
60
53
47
42
37
33
31
30
31
30
34
37
46
46
47
63
70
73
81
96
106
112
122
134
148
156
164
176
187
194
203
210
217
224
230
234
237
239
240
240
240
238
235
231
227
217
208
209
200
183
177
173
158
147
137
128
119
104
94
88
77
67
61
54
47
42
39
35
31
30
31
31
34
36
40
46
51
58
64
72
82
91
101
111
123
132
142
153
164
175
184
192
199
208
216
223
228
232
236
239
240
241
240
237
235
231
227
221
214
207
199
192
181
172
161
150
139
129
119
109
98
88
80
70
61
56
49
48
38
29
38
34
27
30
34
37
39
41
48
59
63
69
79
89
98
110
120
128
139
150
161
172
181
190
198
207
214
220
227
231
235
238
240
241
240
239
238
227
228
231
213
204
204
193
184
174
163
156
144
130
121
112
101
91
83
72
63
59
52
46
39
36
34
31
30
30
33
35
38
43
48
54
61
69
77
86
96
107
116
127
137
148
158
168
178
188
196
205
212
219
226
231
235
237
240
240
240
239
237
234
229
224
218
210
202
194
186
176
166
156
145
134
125
114
103
93
83
74
66
60
52
46
41
37
33
31
30
30
31
34
37
42
47
53
60
67
75
84
93
104
114
125
135
146
156
167
176
187
194
203
210
218
225
229
234
237
240
240
241
239
238
235
230
225
219
212
204
196
188
178
168
157
147
136
126
116
106
95
86
76
67
61
53
47
42
38
34
31
30
31
31
33
36
41
46
52
59
65
74
83
92
102
112
123
132
143
154
165
175
185
193
201
209
216
223
228
233
237
239
240
241
240
238
235
231
226
221
213
206
198
190
181
171
161
149
139
128
118
108
97
88
78
69
63
55
48
43
38
35
32
30
30
31
33
35
40
44
51
57
63
72
80
90
100
111
121
131
141
152
162
173
183
192
200
208
215
221
228
232
236
238
240
240
240
238
237
233
227
221
215
208
199
192
182
173
162
152
141
131
120
109
99
89
80
71
63
57
50
45
40
35
33
31
30
31
31
35
38
43
49
55
63
69
79
87
98
108
118
127
139
149
160
170
180
189
197
206
213
220
226
231
235
237
240
241
240
239
237
233
229
224
217
209
201
192
185
175
164
155
144
133
123
113
102
92
82
73
65
58
51
45
41
36
34
31
31
31
32
34
37
42
47
54
61
68
76
85
95
105
116
127
136
147
158
168
179
187
195
203
212
219
225
230
234
237
239
240
241
240
237
234
228
225
219
211
203
195
187
178
167
156
146
135
125
115
104
94
84
75
67
60
53
47
42
38
34
31
30
30
31
34
37
40
47
53
60
66
73
83
93
103
113
124
134
144
155
166
176
185
194
202
210
217
224
228
233
236
239
240
241
240
238
235
231
226
220
213
205
197
189
179
169
159
149
137
127
118
107
97
87
78
68
62
55
48
43
39
34
32
31
31
31
34
36
40
45
51
58
63
72
81
91
100
111
121
131
142
152
163
173
184
192
200
208
216
222
228
233
237
239
240
241
240
238
236
232
227
221
215
207
199
192
182
172
161
151
140
130
120
109
99
89
79
71
63
56
50
44
39
35
33
31
30
31
33
36
39
44
49
56
63
70
79
89
99
109
119
130
140
150
161
172
181
190
198
206
214
221
227
231
235
238
240
241
240
239
236
233
228
222
216
209
201
192
184
174
164
153
142
132
122
112
101
91
81
72
64
57
51
45
40
36
33
31
30
30
32
34
38
43
49
55
62
69
77
87
97
107
117
127
137
148
158
169
179
189
196
205
213
219
226
230
235
238
240
240
240
239
237
233
229
224
217
211
203
195
186
176
166
155
145
134
124
114
103
93
83
75
66
59
52
46
41
37
34
31
30
31
31
34
37
41
47
53
60
67
75
84
94
104
114
125
135
145
156
167
176
186
194
203
211
218
224
230
234
237
240
240
241
240
238
234
230
225
219
212
204
196
188
178
169
158
147
137
127
115
105
96
85
75
68
63
53
44
47
41
31
31
32
32
29
31
37
43
46
50
59
66
74
83
92
100
112
123
132
143
154
165
175
184
193
202
208
218
219
226
238
238
233
240
246
238
237
235
233
229
218
212
207
197
189
181
171
159
150
141
129
118
108
98
89
79
69
62
56
49
43
38
35
32
31
30
31
33
36
39
44
51
57
63
71
80
89
100
110
120
130
141
152
162
172
182
192
199
207
215
221
226
231
236
235
245
241
233
240
240
230
225
223
217
208
198
190
185
175
161
152
142
130
121
111
99
89
81
71
63
57
50
45
40
35
33
31
30
31
33
35
38
42
50
58
59
67
85
88
91
109
120
127
139
146
162
173
178
188
197
205
213
220
226
229
235
239
240
240
240
239
237
232
228
224
218
209
201
193
185
175
165
155
144
133
123
113
102
92
83
74
65
58
52
46
41
36
34
31
30
30
31
34
37
42
47
54
60
68
76
85
95
105
116
126
136
146
157
167
178
187
195
204
211
218
225
230
234
237
239
240
240
240
237
234
230
225
219
211
204
195
187
177
167
157
146
136
126
115
105
94
84
75
67
61
54
47
42
37
34
31
31
31
31
34
37
41
46
52
59
65
73
83
92
103
113
123
133
144
155
165
175
185
193
202
210
216
224
228
233
237
240
241
240
240
238
235
231
226
220
213
205
197
189
180
170
159
149
138
127
118
107
97
87
77
68
62
55
48
43
38
35
32
31
30
31
33
36
40
45
50
57
63
72
81
91
100
111
121
131
142
152
163
173
184
192
200
208
215
222
228
232
236
239
240
240
240
238
236
232
227
221
215
207
199
192
182
172
161
151
140
130
120
109
99
89
80
70
63
56
49
44
39
36
33
30
30
31
33
35
39
44
49
56
63
70
79
88
98
109
119
129
140
150
161
171
181
190
198
206
214
220
226
231
235
238
240
240
240
239
236
233
228
223
216
209
201
193
184
174
164
154
143
132
122
111
101
91
81
73
63
58
51
45
40
36
33
31
30
30
31
34
38
42
48
54
62
68
77
86
96
107
117
127
137
148
158
169
179
189
196
204
213
219
226
230
235
237
240
240
240
240
237
234
229
224
217
210
202
194
186
176
167
156
145
135
125
114
103
93
83
74
66
59
53
47
41
37
34
31
30
31
31
34
38
41
47
53
60
66
75
84
94
104
115
125
135
146
156
167
176
186
194
203
211
218
224
229
233
237
239
240
240
239
237
234
230
225
219
212
205
196
188
179
169
158
148
137
127
116
106
96
86
77
68
61
54
48
43
38
34
31
31
30
31
33
36
40
46
51
58
65
73
82
91
101
111
123
132
143
153
163
174
184
192
200
208
215
222
228
233
236
239
240
240
240
238
236
231
227
220
214
206
198
190
181
171
161
150
139
129
119
108
98
89
80
70
62
56
50
44
39
35
33
31
30
31
33
35
39
44
50
56
63
71
79
89
99
109
120
129
140
150
162
172
182
192
199
207
214
222
228
231
235
238
240
241
240
238
236
232
228
222
216
208
200
192
183
173
163
152
141
131
121
111
100
90
80
72
63
58
51
45
40
35
33
31
30
30
32
35
39
43
49
55
62
68
77
87
97
107
118
127
138
149
159
170
179
189
197
205
213
219
226
230
235
237
240
240
240
239
237
234
229
224
217
210
201
193
186
176
166
155
144
134
124
113
103
92
83
74
66
59
52
46
41
37
33
31
30
30
31
34
37
42
47
53
60
67
75
85
94
105
115
126
135
146
157
168
177
187
195
204
211
218
224
230
234
237
240
240
241
239
238
234
230
225
219
211
204
196
188
178
167
157
147
136
126
115
105
95
85
76
67
60
53
47
42
38
34
31
30
31
31
34
37
41
46
52
59
65
74
82
92
102
113
123
134
144
155
165
175
185
193
201
209
217
223
228
233
237
239
240
241
240
238
235
231
226
220
212
206
197
188
181
174
158
145
142
130
113
107
99
89
75
67
63
58
49
41
38
35
33
31
30
30
33
36
40
45
51
57
63
71
81
91
100
112
116
129
147
152
157
174
187
190
198
208
217
224
225
230
237
238
240
241
240
237
236
233
227
220
214
208
199
192
182
173
162
152
141
130
121
110
100
89
80
71
63
57
50
45
40
36
33
31
30
30
33
36
36
49
50
48
63
74
77
85
99
109
120
127
136
151
162
169
180
191
197
206
214
219
225
231
235
238
240
240
240
239
236
233
229
224
217
209
201
192
184
176
165
154
138
135
128
107
100
95
82
73
63
58
56
45
39
36
33
31
31
31
31
33
39
43
47
54
62
69
77
85
95
106
116
126
137
147
158
168
179
188
195
204
211
219
225
230
234
237
239
240
240
240
237
234
230
224
218
211
203
194
186
177
167
156
145
135
124
115
104
94
84
75
66
60
53
47
42
38
34
31
31
30
31
33
37
41
47
53
60
67
75
84
94
104
114
124
134
144
155
166
176
186
194
202
211
217
224
229
233
236
239
240
240
240
238
234
230
225
219
213
206
197
188
178
169
158
148
137
127
116
106
96
86
77
68
62
54
48
42
38
34
31
31
30
31
33
36
40
46
51
57
63
73
81
91
102
112
122
131
142
153
164
174
184
192
200
209
216
222
228
233
236
239
240
240
240
238
236
231
227
220
214
206
199
190
181
171
161
150
140
129
119
109
98
88
79
70
63
56
49
44
39
35
32
30
30
30
32
35
39
44
50
57
63
71
79
89
99
109
119
129
140
151
161
172
182
191
198
207
214
221
227
232
236
238
240
241
240
238
236
233
228
222
216
208
201
192
183
173
163
152
142
131
121
111
100
90
81
72
63
57
50
45
40
36
33
31
30
30
33
35
39
43
48
55
62
69
78
86
97
107
118
127
138
148
159
169
179
189
196
205
213
219
226
231
235
238
240
241
241
239
237
233
229
224
217
210
202
194
186
176
166
155
144
133
124
113
103
93
84
74
66
59
52
46
41
37
34
31
30
30
31
34
38
42
47
53
61
67
76
85
94
105
115
126
135
146
156
167
177
187
195
204
211
218
224
229
234
237
240
240
241
239
237
234
230
225
218
211
204
196
188
179
168
158
147
136
126
116
105
95
85
76
68
60
54
47
42
38
34
31
31
30
31
34
37
41
46
52
59
65
73
82
92
102
113
123
133
144
154
164
175
184
193
201
209
216
222
228
233
236
238
240
240
240
238
235
232
226
220
214
206
197
190
180
170
160
149
139
128
119
108
98
88
78
69
62
55
49
44
39
35
31
31
30
31
33
36
39
45
51
57
63
71
80
90
99
110
120
130
141
152
162
173
182
192
199
208
215
221
227
232
236
238
240
241
240
238
236
232
227
221
215
208
199
192
182
173
163
152
141
130
121
110
100
89
80
71
63
56
50
44
39
36
33
31
30
31
32
35
39
44
49
55
63
70
79
88
98
108
119
127
139
149
160
171
180
190
197
206
213
220
226
231
235
238
240
240
240
239
237
233
229
224
216
209
201
193
185
175
165
154
144
133
123
112
102
91
82
73
65
59
51
45
41
36
34
31
30
30
31
34
37
42
47
54
61
68
76
86
95
106
117
126
137
147
158
168
178
187
196
204
211
218
225
231
235
237
239
240
241
240
237
234
229
224
218
211
203
194
187
177
167
156
146
135
125
115
104
94
84
76
67
60
53
47
41
37
33
30
30
31
33
34
36
41
47
53
59
66
74
83
93
103
114
124
134
145
155
166
176
186
193
202
210
217
224
229
233
237
239
240
240
240
237
235
231
226
220
212
205
196
189
179
169
159
148
137
127
117
107
96
86
77
68
62
55
48
43
38
35
31
31
30
31
33
36
40
45
51
58
64
73
81
91
101
111
122
131
142
153
164
174
184
192
200
209
216
222
228
233
235
240
238
246
240
232
238
235
226
217
217
209
197
188
181
174
162
149
139
130
119
109
99
88
79
71
63
56
49
43
39
35
33
31
30
33
30
31
43
48
45
54
67
70
78
89
100
112
119
127
141
151
160
172
182
190
198
208
215
220
226
232
236
239
240
240
240
239
236
233
228
222
216
208
200
192
184
174
164
153
142
132
122
111
99
91
79
78
63
52
55
49
38
34
35
31
31
28
30
37
39
41
47
55
61
69
78
86
96
107
118
127
138
147
158
169
179
188
197
204
212
219
226
231
234
239
240
239
236
243
243
228
228
227
217
210
200
194
189
175
164
155
145
133
125
114
102
92
85
75
65
59
52
47
41
36
34
31
30
30
32
34
37
42
47
53
60
67
75
85
94
105
115
125
135
146
156
167
177
186
194
203
211
218
225
229
234
237
240
241
241
240
238
235
230
226
219
212
204
196
188
179
168
158
147
136
127
116
106
96
86
76
68
61
54
47
42
38
34
32
31
30
31
33
37
41
46
52
58
65
73
82
92
102
112
123
133
144
154
165
175
185
193
201
209
216
222
228
233
237
239
240
241
240
238
236
231
227
221
214
206
198
190
181
171
161
150
139
128
119
108
98
88
79
70
63
55
49
44
39
35
33
31
30
31
33
36
39
44
50
57
63
71
80
89
100
110
120
130
140
151
162
172
182
192
199
207
215
221
228
232
236
238
240
241
240
239
236
233
228
221
215
208
200
192
182
173
163
152
142
130
121
110
100
90
81
71
63
57
50
44
39
35
32
31
30
31
33
35
39
44
49
55
63
69
78
87
97
108
119
128
138
148
159
170
180
189
197
206
213
220
226
231
234
238
240
240
240
239
237
233
229
224
217
209
201
193
185
176
165
155
144
133
123
113
103
92
82
73
65
59
52
46
41
36
33
31
30
30
31
34
37
42
47
54
60
68
76
85
95
105
116
126
136
147
157
168
178
188
195
204
211
218
225
230
234
238
239
241
240
240
237
234
230
225
218
211
204
195
187
177
167
156
145
135
125
115
104
94
84
75
67
60
53
47
42
37
34
31
31
30
31
34
37
41
46
52
59
66
74
84
93
103
113
124
134
144
155
165
176
185
194
202
210
216
223
228
233
237
239
240
240
240
237
235
230
226
219
212
205
197
189
179
169
159
148
138
127
117
107
96
86
77
68
62
54
49
43
38
35
31
30
30
31
33
36
39
45
51
58
63
72
81
90
101
111
122
131
142
152
163
173
183
192
200
208
215
222
227
232
235
238
240
241
240
238
236
232
228
221
214
207
199
192
182
171
161
151
140
130
120
110
99
89
79
71
63
56
50
44
39
35
32
30
30
31
33
35
39
44
49
56
63
70
79
88
98
109
119
129
139
150
161
171
180
190
198
206
214
220
227
231
235
238
240
241
240
238
236
233
228
222
216
208
201
192
184
174
164
153
143
132
122
111
101
91
82
73
64
58
51
46
41
37
33
31
30
30
31
34
38
43
48
54
62
68
77
86
95
106
116
127
137
148
158
169
179
188
196
204
212
219
225
230
234
238
240
240
241
239
237
234
230
224
217
210
203
195
186
176
166
156
145
134
125
114
104
93
84
74
66
59
52
46
41
37
34
31
30
30
31
34
37
41
47
53
60
67
75
84
94
105
115
125
135
145
156
166
176
186
194
203
211
218
224
230
234
237
239
240
241
240
237
234
231
225
220
212
204
196
189
179
169
158
147
137
127
116
105
95
86
77
68
61
54
47
42
37
35
31
31
30
31
34
36
41
46
52
58
65
73
82
92
102
112
123
132
143
154
164
175
184
192
201
209
216
222
228
233
236
239
240
241
240
238
236
232
227
221
214
206
198
191
181
172
161
151
139
128
118
108
98
88
78
70
63
56
50
44
39
35
33
31
31
31
33
35
39
44
50
57
63
71
79
89
99
110
119
130
140
149
164
176
180
187
203
209
210
220
230
233
233
236
242
243
240
237
236
233
228
222
215
208
200
192
183
173
163
152
142
131
122
111
100
92
76
70
69
57
45
46
44
34
31
31
32
33
30
34
40
43
48
56
62
67
79
89
97
106
118
128
138
149
158
170
180
189
197
205
212
220
226
231
235
238
239
240
242
237
241
233
221
227
221
208
200
195
186
176
163
153
146
134
122
112
103
92
84
74
65
58
52
46
41
37
33
31
30
30
31
34
37
42
47
53
61
67
77
86
93
101
120
131
130
146
160
167
178
186
195
208
211
217
225
229
234
237
240
239
240
241
238
234
230
224
219
211
203
195
187
177
167
157
146
135
126
116
105
94
85
75
67
60
53
47
42
37
34
31
30
30
31
33
37
41
47
52
59
65
73
83
93
103
113
123
133
144
155
165
175
185
193
202
209
217
224
228
233
237
239
240
240
240
237
235
231
226
220
213
205
197
190
180
170
159
149
138
127
117
107
97
87
78
69
62
55
48
43
39
35
31
30
30
31
33
36
39
45
50
57
63
72
80
90
100
110
122
131
142
152
163
173
183
192
200
208
215
222
227
232
236
239
240
240
240
238
236
232
228
221
215
207
199
192
182
172
162
152
141
130
120
110
99
90
80
71
63
57
50
44
39
35
33
31
30
30
31
35
38
43
49
56
63
70
79
88
98
108
118
128
139
150
160
171
181
190
198
206
214
220
227
231
235
238
240
240
240
239
236
233
228
223
216
209
201
192
184
174
164
153
143
132
122
112
102
91
82
73
64
58
51
45
40
36
33
31
30
30
31
34
39
43
48
54
61
68
77
86
96
106
116
127
137
148
158
169
179
188
196
204
212
218
225
230
235
237
240
240
241
239
237
234
230
224
217
211
202
194
186
177
167
156
145
134
125
114
103
93
84
75
67
59
52
47
41
37
34
31
30
30
31
34
37
42
46
53
60
66
75
84
94
103
114
125
134
145
156
166
176
186
194
202
210
217
224
230
234
237
239
240
241
240
239
235
230
225
220
213
205
196
188
179
169
159
148
137
127
117
107
97
86
77
68
61
54
48
42
38
35
31
30
30
31
33
36
40
45
52
58
65
72
81
91
102
111
122
132
142
153
164
174
184
192
200
208
216
222
228
232
236
238
240
240
240
238
235
232
227
221
214
207
198
191
181
171
161
150
139
128
119
108
98
88
79
70
63
56
49
44
39
35
33
31
30
31
33
36
39
44
50
56
63
71
80
89
99
110
120
129
140
151
162
172
182
191
199
207
214
221
226
231
235
238
240
241
240
239
236
232
228
222
216
208
200
192
183
173
163
152
142
131
121
111
100
90
81
72
63
57
51
45
40
36
33
31
30
31
31
35
39
43
48
55
62
69
78
87
97
107
118
127
138
148
159
169
179
189
197
205
213
220
226
231
235
238
239
240
240
239
236
233
228
224
217
210
202
193
186
176
166
155
144
133
124
113
102
92
83
74
66
59
52
46
41
37
33
31
30
31
31
34
38
41
47
53
61
67
75
84
94
105
115
126
135
147
157
167
177
186
195
204
211
218
224
229
234
237
239
241
241
240
237
234
230
225
218
212
204
195
187
178
167
157
146
136
126
115
105
94
85
75
67
60
54
47
42
38
34
31
30
30
31
33
36
41
46
52
59
66
73
82
92
102
113
123
133
144
154
165
175
185
193
202
210
217
223
229
233
237
239
240
241
240
238
235
231
226
220
213
206
197
190
180
170
159
149
138
127
118
108
97
87
78
69
62
55
48
43
38
35
31
31
30
31
33
36
40
44
50
57
63
72
80
90
100
111
121
131
141
152
163
173
182
192
199
208
215
222
227
232
236
238
240
240
240
238
236
232
227
221
214
207
199
192
182
173
162
152
141
130
120
109
99
89
80
71
63
57
50
44
39
35
33
31
30
31
33
35
39
41
54
57
58
70
82
89
92
110
121
128
136
148
163
172
179
189
198
206
214
221
226
231
235
239
239
240
240
239
236
233
229
224
217
210
196
192
190
172
161
157
146
131
122
113
104
92
79
73
66
57
51
46
40
35
35
33
30
30
33
36
39
42
47
54
61
68
77
86
93
106
116
130
135
141
163
171
176
187
197
205
212
216
224
233
235
236
240
241
240
240
237
232
229
225
218
211
202
194
187
178
167
155
145
134
125
115
104
94
83
76
68
57
49
52
45
31
35
35
30
30
29
35
41
40
46
53
60
67
76
84
92
103
115
125
134
145
156
166
176
185
195
203
210
217
224
229
234
237
240
240
241
240
238
235
231
225
219
213
205
196
188
180
169
159
148
138
127
117
107
96
87
77
68
62
55
48
43
38
35
32
31
30
31
34
36
40
45
51
58
64
73
82
91
101
111
122
132
142
152
163
173
183
192
201
208
216
222
228
232
236
239
240
241
240
238
236
232
227
221
214
207
198
192
182
172
161
150
140
129
119
109
99
89
79
70
63
56
50
44
39
35
31
30
30
31
33
35
39
44
50
56
63
70
79
89
99
109
120
129
140
150
161
172
181
192
198
207
214
221
227
232
235
238
240
241
241
239
236
233
228
222
216
208
200
192
183
174
164
153
142
131
122
111
101
91
81
72
63
57
51
45
40
36
33
31
30
31
31
35
38
43
49
54
62
69
78
87
97
107
117
127
138
148
159
169
179
189
196
205
213
219
225
230
235
238
240
240
241
239
237
234
229
224
217
210
202
194
186
176
165
155
144
134
124
113
103
93
83
74
66
59
52
46
41
37
34
31
31
31
31
34
37
42
47
53
60
67
76
84
95
104
115
125
135
146
157
167
177
187
195
203
211
218
224
229
234
237
239
240
241
240
237
234
230
225
219
212
204
196
187
178
168
158
147
136
126
116
105
96
86
76
68
61
54
48
42
38
34
31
30
30
31
33
36
41
46
52
59
65
73
83
92
102
112
123
133
144
154
164
175
184
193
201
209
216
223
228
232
236
239
240
240
240
238
235
231
226
220
213
205
197
189
180
171
160
149
139
128
118
108
98
88
78
69
63
55
49
43
39
35
32
30
30
31
33
36
39
45
50
57
63
71
80
90
100
110
121
131
141
152
163
172
182
192
199
207
215
222
227
232
236
239
240
240
240
238
236
232
227
222
215
208
200
192
183
172
162
152
141
130
121
110
100
90
81
71
63
57
50
44
40
36
33
31
30
30
33
35
39
43
48
56
63
70
78
88
97
108
118
127
138
149
160
170
180
189
197
205
212
219
226
232
236
238
240
241
240
240
237
233
229
224
217
210
202
193
185
175
165
154
144
133
123
112
102
92
83
74
65
59
52
46
40
36
33
31
31
31
33
34
37
42
47
54
61
68
76
85
95
106
116
126
136
147
157
168
178
188
195
204
212
219
225
230
234
237
240
240
240
239
237
234
230
225
218
211
203
195
187
177
167
156
147
135
125
114
105
94
84
75
67
61
53
47
42
37
33
31
30
30
31
33
36
41
46
53
59
66
74
83
93
103
114
124
134
145
155
165
176
186
193
202
210
217
224
229
233
237
240
241
241
240
238
235
231
225
220
213
205
197
189
180
169
159
148
137
128
118
107
97
86
77
69
62
55
47
43
38
35
31
30
30
31
33
36
40
45
51
58
63
73
81
91
101
111
122
132
142
153
163
174
184
192
201
208
216
222
228
232
236
238
240
241
240
238
235
232
227
221
214
208
199
192
182
172
162
151
140
129
119
109
99
89
79
70
63
55
49
44
39
35
33
31
30
31
33
35
39
44
49
56
63
70
79
89
99
109
119
130
140
151
161
172
181
190
198
206
214
220
227
231
235
238
240
241
241
239
236
233
228
222
216
209
200
192
183
174
164
153
142
131
122
111
101
91
82
72
63
58
56
44
35
40
36
28
28
33
34
31
35
43
51
55
60
68
78
86
97
106
116
127
138
148
158
169
179
189
196
205
213
219
228
228
231
241
243
235
239
244
236
231
229
226
220
209
200
195
187
176
167
156
144
134
126
115
103
93
84
75
67
57
51
49
45
33
30
37
31
27
31
35
38
41
43
53
63
66
74
84
94
103
116
125
134
145
157
166
177
185
194
202
210
217
224
229
233
237
239
240
240
239
238
236
227
222
226
214
198
197
192
177
168
156
149
140
125
115
106
96
86
78
68
60
54
49
43
37
34
31
31
30
31
33
36
39
45
51
58
65
73
82
92
101
112
123
132
143
153
164
174
184
192
201
209
215
222
228
233
236
239
240
240
240
238
235
231
226
220
213
206
198
190
181
171
161
150
139
128
119
108
98
87
78
69
63
55
49
43
39
35
32
31
31
31
33
36
39
44
50
57
63
71
80
89
99
110
121
130
140
151
162
173
183
192
199
208
214
222
227
232
235
238
240
240
240
239
236
232
228
222
216
208
200
192
183
173
163
152
141
130
120
111
100
91
80
71
63
58
51
45
39
35
33
31
31
31
31
35
38
43
48
55
62
69
78
88
97
107
118
128
138
149
160
170
180
189
197
206
213
220
225
231
235
238
240
241
240
239
236
233
229
224
217
210
202
193
185
175
165
155
144
133
124
113
102
92
82
74
65
59
52
46
40
37
34
31
30
30
31
34
38
42
47
54
61
67
76
85
94
105
115
126
135
146
157
168
177
187
195
204
211
218
224
230
234
237
240
240
241
239
237
234
230
225
218
212
204
195
187
178
168
157
146
135
126
115
105
94
85
75
67
60
53
47
42
37
34
31
30
31
31
34
37
41
46
52
59
66
74
83
92
103
113
124
133
144
155
166
176
186
193
202
210
217
224
229
234
236
239
240
241
240
238
235
231
226
220
213
205
197
189
180
170
159
148
137
127
117
107
97
87
77
69
62
55
48
43
38
34
33
30
30
31
34
36
40
46
50
58
63
73
81
91
101
111
122
131
142
152
163
173
183
192
200
208
216
222
227
232
236
238
240
240
240
238
235
232
227
221
214
206
199
192
182
172
161
151
140
129
120
109
99
89
79
71
63
56
49
44
39
35
33
31
30
31
32
35
39
44
50
56
63
70
79
88
98
109
119
129
139
150
160
171
180
191
198
206
214
220
227
231
235
238
240
241
240
239
236
233
228
222
216
209
201
192
184
174
164
153
143
132
122
112
101
91
82
73
64
58
51
46
40
36
33
31
30
31
31
34
38
43
48
54
62
69
77
86
96
106
117
127
137
148
158
169
179
188
196
204
212
219
226
230
235
238
240
240
240
239
237
233
229
224
218
210
202
194
186
177
166
156
146
135
125
114
103
94
84
75
66
59
52
47
42
37
34
31
31
30
31
33
37
41
46
53
59
66
74
83
93
103
113
124
134
145
155
166
176
186
194
202
210
217
224
229
233
237
239
240
240
240
237
235
231
226
219
213
205
197
189
179
169
158
148
137
127
117
106
96
86
77
68
62
54
48
42
38
34
32
30
30
31
34
36
39
45
51
57
64
72
81
91
101
112
123
132
143
153
164
174
184
192
200
208
216
222
228
233
236
239
240
241
240
238
235
231
227
221
215
206
198
190
181
172
161
150
139
129
119
109
98
88
79
70
63
55
49
43
39
35
31
30
30
31
33
35
39
44
50
56
63
71
80
89
99
110
120
130
140
151
162
172
182
191
199
207
214
221
227
232
235
238
240
241
240
239
236
232
228
222
216
208
201
192
183
173
163
152
142
130
121
111
100
91
81
71
63
57
51
45
39
36
33
31
30
31
32
34
39
43
49
55
62
69
78
87
97
107
117
127
138
149
159
170
180
189
197
205
213
219
226
230
235
237
240
240
240
239
237
233
229
224
216
211
201
192
187
180
163
150
148
136
120
112
105
94
80
71
67
61
52
44
41
37
34
31
30
30
31
35
38
41
47
53
61
67
76
85
95
107
112
122
140
147
152
166
182
185
193
203
213
220
222
228
235
237
239
241
240
238
237
235
230
224
215
217
206
190
189
182
166
155
147
137
126
113
103
97
87
75
66
61
53
48
43
37
33
31
30
30
31
33
36
41
46
52
59
65
73
83
92
102
113
125
133
145
149
166
182
180
192
205
210
216
222
227
237
237
236
240
240
240
238
236
230
225
221
214
205
197
189
181
171
159
149
139
127
117
108
97
87
78
69
63
55
49
43
39
35
31
30
30
31
33
36
39
45
51
57
63
71
80
90
100
110
121
130
141
152
163
173
183
192
199
207
215
222
228
232
236
239
240
241
240
238
235
232
227
221
215
208
199
192
182
172
162
152
141
130
120
110
99
90
79
71
63
57
50
44
39
36
33
31
30
31
32
35
39
44
49
56
63
70
78
88
98
108
118
128
139
149
160
171
180
189
198
206
214
220
226
231
235
238
240
241
240
239
236
233
228
224
216
209
201
192
185
174
164
154
143
132
123
112
102
91
82
73
65
58
51
45
40
36
33
31
30
30
31
35
38
42
47
54
61
68
77
86
96
106
116
127
137
148
158
169
178
188
196
204
212
219
225
230
234
237
240
240
241
239
237
234
230
224
218
211
203
194
186
177
166
157
145
135
125
114
104
94
85
75
66
59
53
47
42
37
33
31
30
31
31
34
37
41
47
53
59
66
74
83
93
104
114
124
134
145
156
166
176
186
194
202
211
218
225
229
233
236
239
240
241
240
237
234
231
226
220
212
204
196
189
179
169
159
148
137
127
117
106
96
86
77
68
61
54
48
43
38
35
31
31
30
31
33
36
40
45
51
58
64
73
82
91
101
112
122
132
142
153
164
174
184
192
200
209
216
222
228
233
236
239
240
241
240
238
235
231
227
221
214
206
199
191
182
172
161
150
140
129
119
109
98
88
79
70
63
56
49
44
39
35
32
31
30
31
33
35
40
44
50
57
63
71
79
89
99
109
120
130
140
150
161
172
182
192
199
208
214
221
227
231
236
238
240
241
240
239
236
233
227
222
216
208
200
192
184
174
164
153
142
131
122
111
101
91
81
72
63
58
51
45
40
36
33
31
30
31
31
35
38
43
48
55
62
68
77
87
97
107
117
127
138
148
159
170
179
189
197
205
212
219
226
230
235
237
240
240
240
239
237
233
229
224
217
210
202
194
186
176
165
155
144
134
124
113
103
92
83
74
66
59
52
46
41
37
34
31
30
31
31
34
37
42
47
54
61
67
76
85
94
104
115
126
135
146
157
167
177
187
194
203
211
218
225
230
234
237
240
241
240
239
237
234
230
225
218
211
204
195
187
178
168
157
147
136
126
116
105
95
85
75
67
61
53
47
42
37
35
31
31
30
31
34
37
41
46
52
59
65
73
83
92
102
112
123
133
144
154
165
175
185
193
201
209
216
223
228
233
236
239
240
240
240
238
235
231
226
220
213
206
198
190
180
170
160
149
138
128
118
108
97
88
78
69
63
55
48
43
38
35
32
30
30
31
33
35
39
44
50
57
63
71
80
90
100
110
121
130
141
152
163
172
183
192
200
208
215
222
227
232
236
239
240
241
240
239
236
232
228
221
215
208
199
192
182
173
163
152
141
130
120
110
100
90
80
71
63
57
50
45
39
35
33
31
30
30
33
35
39
43
49
55
63
69
78
88
97
108
118
128
138
149
159
171
181
191
198
205
213
220
226
231
235
237
240
240
241
239
237
233
229
224
217
209
201
193
185
175
165
154
144
133
123
112
102
91
82
73
65
58
52
47
41
36
33
31
31
31
31
34
37
43
47
54
61
67
76
85
96
106
116
127
137
147
158
168
178
188
196
204
211
219
224
230
234
235
242
244
238
236
242
237
225
224
221
212
201
193
189
179
166
155
146
136
125
116
104
93
85
76
67
60
53
47
42
38
34
31
31
31
27
34
43
38
42
55
62
63
73
84
95
105
111
123
134
144
155
164
180
186
189
204
215
215
221
231
235
238
237
238
242
242
237
233
231
225
220
214
204
196
189
179
170
160
148
137
127
117
106
97
86
77
68
62
54
49
44
38
36
27
31
38
27
29
40
40
45
50
57
67
73
79
90
101
111
123
132
141
151
164
175
184
192
200
209
216
222
228
233
236
238
240
241
240
238
237
232
227
221
214
207
199
190
181
171
161
150
140
129
119
109
98
89
79
70
63
56
49
44
39
35
33
31
30
31
33
36
39
44
50
57
63
70
79
89
99
109
120
129
140
151
161
171
181
190
199
207
214
221
227
231
236
239
240
241
240
238
236
233
228
222
216
208
200
192
184
174
164
153
143
132
122
111
100
91
81
72
63
58
51
45
40
36
33
31
30
30
32
34
38
43
48
54
62
68
77
86
96
106
117
127
137
148
158
169
179
189
197
205
212
219
225
230
234
237
240
241
240
239
237
233
229
224
217
210
203
195
186
176
166
155
145
134
124
113
103
94
84
75
66
59
52
46
41
37
34
31
30
31
31
34
37
41
47
53
60
67
75
84
94
105
115
125
135
145
156
167
177
186
194
203
211
218
224
229
234
237
239
240
241
240
237
234
230
225
219
212
204
196
188
179
169
158
147
136
127
116
105
96
85
76
68
61
54
47
42
37
34
31
31
30
31
34
36
41
46
51
58
65
73
82
92
102
112
123
133
144
154
165
175
184
193
201
209
216
223
228
233
237
239
240
241
240
238
235
231
227
221
214
206
198
190
181
171
161
149
139
128
118
108
97
88
79
69
63
56
49
43
39
35
33
31
30
31
33
36
39
44
50
58
63
71
79
89
100
111
120
130
141
152
162
173
183
192
199
208
215
221
227
232
236
239
240
240
240
238
236
233
227
222
216
208
200
192
183
173
163
152
141
130
121
111
100
90
80
71
63
57
50
44
39
36
33
31
30
31
32
35
39
44
49
56
63
70
78
88
98
108
118
127
138
149
159
171
180
189
197
205
213
219
226
231
235
238
240
240
240
239
236
233
228
224
217
210
202
193
185
175
165
155
144
133
123
112
102
92
82
73
65
59
52
46
40
37
33
31
30
31
31
34
37
42
47
54
61
67
76
85
95
105
116
126
136
146
157
168
178
187
195
204
211
219
225
230
234
237
239
240
241
240
237
234
230
224
218
211
203
195
187
177
167
156
146
136
125
115
105
94
84
75
67
60
53
47
42
37
34
31
31
30
31
34
38
41
47
52
59
66
74
83
92
103
113
124
134
144
155
165
175
185
194
202
210
217
224
229
233
237
239
240
240
240
238
235
231
226
220
213
205
197
189
180
170
159
148
138
127
117
107
97
87
77
68
62
54
48
43
38
35
31
31
30
31
33
36
40
45
51
58
63
72
81
90
100
111
122
131
142
153
163
174
183
192
200
208
215
222
228
232
236
239
240
241
240
238
236
232
227
221
215
207
199
192
181
172
161
151
140
129
120
109
99
89
79
70
63
56
49
44
39
35
33
31
30
31
33
35
39
44
49
57
63
71
79
89
99
109
119
129
140
150
161
171
181
190
198
207
214
221
227
231
235
238
240
240
240
239
236
233
228
223
216
208
201
192
184
174
164
153
143
132
122
111
101
91
81
72
64
58
51
45
40
36
33
31
31
30
32
35
38
43
47
54
61
68
77
86
96
106
117
127
137
148
158
169
179
188
196
204
212
219
225
230
235
238
240
240
240
239
237
234
229
224
217
210
202
194
186
176
166
156
145
134
124
114
103
92
84
75
66
60
52
47
41
37
34
31
30
30
31
34
37
41
48
50
63
68
70
85
98
105
110
126
137
145
153
165
179
188
193
202
211
218
224
230
234
236
240
241
240
239
238
234
230
225
220
213
205
198
184
176
174
159
142
137
131
114
105
96
88
79
66
59
55
47
42
38
35
29
28
37
34
27
36
47
45
49
58
66
74
80
89
103
114
122
132
144
154
164
176
184
192
201
209
216
223
228
232
237
239
240
241
241
237
235
230
226
221
215
206
199
185
182
179
156
146
142
129
119
107
97
91
79
68
63
55
49
44
40
34
31
32
31
30
33
35
40
45
50
57
63
71
80
90
100
110
120
130
141
152
162
172
182
192
199
208
214
221
226
231
236
238
240
241
240
239
236
232
228
222
215
208
200
192
182
173
163
152
142
131
121
111
100
90
80
72
63
57
50
45
40
35
33
31
31
31
32
35
39
44
48
55
62
69
78
87
97
108
118
127
138
149
159
170
180
189
197
206
213
220
226
231
235
238
240
241
240
239
237
234
229
224
217
210
202
194
186
176
166
155
144
134
124
113
103
93
83
74
65
59
52
47
41
37
34
31
30
30
31
34
38
41
47
53
60
67
76
84
94
105
115
125
135
146
157
167
177
187
195
203
211
218
224
229
234
237
240
241
241
240
238
234
230
225
219
212
204
196
188
178
168
158
147
136
126
116
106
95
85
75
67
60
54
47
42
38
34
31
30
30
31
33
36
40
46
52
59
66
74
83
93
103
113
123
133
144
154
165
175
185
193
201
210
217
223
229
233
237
239
241
241
240
238
235
231
226
220
213
205
197
190
180
171
160
149
138
127
118
108
97
87
78
69
62
55
48
43
38
35
32
31
30
31
33
36
40
45
51
57
63
72
81
90
100
110
121
131
141
152
163
173
183
192
199
208
215
222
228
232
236
239
240
241
240
238
236
232
227
221
214
208
199
192
182
172
162
151
140
130
120
109
99
89
80
70
63
56
50
44
39
35
32
31
30
31
32
35
39
44
49
56
63
70
79
88
98
108
119
129
139
150
161
171
181
190
198
206
214
220
226
231
235
238
240
240
240
239
237
233
228
222
216
209
201
192
184
174
164
154
143
132
122
112
101
92
82
73
63
58
51
45
40
36
33
31
30
30
32
34
38
42
47
54
61
68
77
86
96
106
116
127
137
147
158
168
179
188
196
204
212
219
225
230
235
238
239
240
240
239
236
234
229
224
218
211
203
194
186
176
167
156
146
134
124
114
104
94
84
75
66
60
53
47
41
37
34
31
30
30
31
34
37
41
46
52
59
66
75
83
94
104
114
124
134
144
156
167
177
186
193
202
210
217
224
228
233
237
239
241
241
240
237
234
230
225
219
212
205
196
188
179
169
158
147
137
127
117
106
96
86
76
68
61
54
48
42
38
35
31
30
30
31
33
36
41
45
51
58
65
73
81
91
101
112
122
132
142
153
163
174
184
192
200
208
216
222
228
233
236
238
240
240
240
238
235
232
226
221
214
207
198
190
181
171
161
150
139
129
119
108
98
88
79
70
63
56
49
44
39
35
32
30
30
31
33
36
39
44
50
56
63
70
79
89
99
110
120
129
140
151
162
172
182
192
199
207
214
221
226
231
235
238
240
240
240
239
236
232
228
222
216
208
200
192
183
174
163
153
141
131
121
111
101
90
81
72
63
58
50
45
39
35
33
31
30
30
31
34
38
43
48
55
62
69
78
87
97
107
117
127
137
148
159
169
180
189
197
205
213
219
226
231
235
238
240
241
240
239
237
233
229
224
217
210
202
194
186
176
166
155
144
133
124
113
103
93
83
74
66
59
51
46
41
37
34
31
30
31
31
34
37
41
47
53
60
67
75
84
94
104
115
126
135
146
157
167
177
187
195
203
211
217
224
230
234
237
239
240
240
240
237
234
230
225
219
212
204
196
188
178
168
158
146
137
126
115
106
99
84
71
72
63
51
46
44
39
31
29
31
33
31
31
36
41
46
52
58
64
73
83
92
102
112
123
133
143
155
165
175
186
192
197
211
222
219
225
237
237
236
240
242
243
238
232
232
227
219
214
207
195
189
182
176
157
144
144
131
116
107
98
89
78
66
62
58
49
42
39
35
31
31
30
30
33
36
39
45
50
56
63
71
80
90
100
110
121
131
141
153
162
174
185
188
196
214
217
215
228
235
235
239
238
242
244
237
234
232
228
221
216
208
198
192
184
173
162
151
141
131
120
109
99
90
80
71
63
57
50
44
40
35
33
31
30
31
33
35
38
43
49
56
62
70
79
88
98
108
119
128
139
149
161
170
180
189
198
206
213
220
226
231
235
239
240
241
241
240
236
232
228
222
217
209
201
192
184
175
165
154
143
132
123
112
102
91
82
73
65
58
51
46
40
36
33
31
31
30
32
35
38
43
48
55
61
67
76
86
96
106
116
126
136
147
158
168
178
188
196
204
212
218
225
230
234
237
240
240
240
239
237
234
229
225
218
211
203
194
187
177
166
156
146
134
125
114
104
94
84
75
66
60
53
47
42
37
34
31
30
31
31
34
37
41
47
52
59
66
74
83
93
103
114
125
134
145
155
166
176
186
194
202
210
217
224
229
234
236
240
240
241
240
238
235
230
225
219
212
205
196
188
179
169
158
148
137
127
117
107
96
86
76
68
61
55
48
43
38
35
31
31
30
30
33
36
40
45
51
58
65
73
81
91
101
112
122
132
142
153
163
174
184
192
200
208
216
222
228
232
236
239
240
241
240
238
235
232
227
221
214
206
198
192
181
171
161
150
140
129
119
109
98
88
79
70
63
55
49
43
39
35
32
31
30
31
32
35
39
44
50
56
63
71
80
89
99
109
120
129
140
151
162
172
181
191
198
207
214
221
226
231
235
238
240
241
240
239
236
232
228
222
215
208
200
192
183
174
163
153
142
131
121
111
100
91
81
72
65
58
51
45
40
36
33
31
30
30
31
35
38
43
48
55
62
69
78
86
97
107
117
127
137
148
159
169
179
188
197
205
212
220
226
231
235
238
240
241
240
239
237
234
229
224
217
210
202
193
186
176
166
155
145
134
124
114
103
93
83
74
66
59
52
46
41
37
34
31
31
30
31
34
38
42
47
53
60
67
75
84
94
105
114
125
135
146
156
167
176
186
195
203
211
218
224
230
234
237
239
240
240
239
237
234
230
225
219
212
204
196
188
178
168
157
147
136
126
116
106
95
85
76
68
61
54
47
42
38
34
31
31
30
31
34
37
40
46
52
58
65
74
83
92
102
112
123
133
143
154
164
174
184
192
201
208
216
222
228
233
237
239
240
241
240
238
235
231
226
221
213
206
198
190
181
171
161
149
139
128
119
108
98
88
79
70
62
56
49
44
38
35
31
30
31
31
34
36
39
44
50
57
63
71
80
90
99
111
121
131
140
152
162
173
182
192
200
208
215
222
228
232
236
238
240
241
241
239
236
231
227
222
216
208
199
192
183
173
163
152
141
130
121
110
100
90
80
71
63
58
51
45
39
35
33
31
30
31
33
35
39
43
49
55
62
69
78
87
98
108
118
128
138
149
160
170
180
189
197
206
213
220
226
231
235
238
240
241
240
239
237
233
229
224
217
209
201
193
185
175
165
154
144
133
123
113
102
92
82
73
66
59
51
45
41
36
34
31
30
30
31
34
38
42
47
54
60
68
76
86
95
105
115
126
136
147
157
168
178
187
196
204
212
218
225
230
234
237
240
241
240
239
237
234
230
225
218
211
204
195
187
177
167
156
146
135
125
115
104
94
85
76
67
60
53
47
41
38
34
31
31
31
31
34
37
41
46
52
59
66
74
83
93
103
113
124
134
144
155
166
175
186
193
202
210
217
224
228
232
237
239
239
242
244
237
230
235
229
216
212
208
199
186
177
171
162
149
135
127
118
107
97
87
76
68
62
55
48
43
38
34
31
31
31
31
35
34
36
49
55
53
63
77
80
89
100
113
124
130
140
154
164
172
184
192
196
212
218
216
230
236
234
237
241
242
240
236
233
234
229
220
213
207
198
192
182
171
161
151
140
129
120
108
99
89
79
70
63
56
49
44
39
35
31
31
31
29
28
39
44
38
49
59
63
71
77
89
102
108
117
129
140
151
162
172
179
189
199
207
213
220
227
232
236
238
240
241
240
238
236
233
228
222
216
209
201
192
184
174
164
153
142
132
122
111
101
91
82
72
64
58
51
45
40
36
33
31
30
31
31
35
38
43
48
55
62
68
77
86
96
106
116
127
137
148
158
169
179
188
196
204
212
219
225
231
235
238
240
240
241
239
237
233
230
224
218
210
203
194
186
176
166
156
144
135
124
114
103
93
84
74
66
60
53
46
41
37
34
31
30
31
31
34
37
41
47
53
60
67
75
84
94
104
114
125
135
145
156
167
177
186
195
203
210
218
224
229
233
237
239
240
240
240
237
234
231
225
219
212
204
196
188
178
168
157
147
136
127
115
105
96
86
77
67
61
54
48
42
37
34
31
31
30
31
33
36
40
46
51
58
64
73
82
92
102
112
123
132
144
154
164
174
184
192
200
208
216
224
228
233
236
239
241
241
240
238
235
231
227
220
214
206
198
190
181
171
160
150
139
129
119
108
98
88
79
70
63
56
49
44
39
35
31
30
30
31
32
35
39
44
50
57
63
71
80
90
99
110
121
130
141
151
162
172
182
192
199
208
214
221
227
232
236
238
240
240
240
238
236
232
228
222
215
208
200
192
183
173
163
152
142
130
121
110
100
90
81
71
63
57
50
45
40
36
33
31
31
31
32
35
38
43
49
55
62
69
78
87
97
108
118
128
139
149
159
170
180
189
197
205
213
220
226
230
235
238
240
241
241
240
237
233
228
224
217
209
201
193
185
175
165
154
144
133
123
112
103
92
82
74
66
59
52
46
41
36
33
31
30
30
31
34
37
42
47
54
61
68
76
86
95
105
116
126
136
147
157
168
178
187
195
204
212
219
225
230
234
237
240
241
240
239
237
234
230
224
218
211
203
194
187
178
167
157
146
135
126
115
104
94
85
75
67
60
53
47
42
37
34
31
30
31
31
34
37
41
47
53
59
66
74
83
93
103
114
124
134
144
155
165
175
185
193
202
210
217
223
229
233
237
239
240
240
240
238
235
231
226
220
213
206
197
189
180
169
159
149
138
127
118
107
97
87
78
69
62
55
48
43
38
35
31
31
30
31
33
36
40
45
51
58
64
72
81
90
101
111
121
131
142
152
163
173
183
192
199
208
214
222
227
233
236
239
240
240
240
238
236
232
227
221
215
207
199
192
182
172
162
151
141
130
120
110
99
89
80
71
63
56
50
44
39
35
32
31
30
31
33
35
39
44
49
56
63
70
79
88
98
108
119
128
139
149
160
171
181
190
198
206
214
221
227
232
235
238
240
240
240
239
236
233
228
222
216
208
201
192
184
175
164
153
143
132
122
112
101
91
81
73
64
58
51
45
40
36
33
31
30
30
32
34
38
43
48
54
61
68
77
86
96
107
117
127
137
148
159
169
179
188
197
204
212
219
225
230
235
238
240
241
240
239
237
234
229
224
218
211
203
194
185
176
166
156
146
135
125
114
103
94
83
75
66
59
52
47
42
37
34
31
30
30
31
34
37
42
47
53
60
66
74
83
94
105
114
124
134
145
156
167
176
186
194
203
210
218
224
229
233
237
239
240
240
240
238
235
231
225
220
212
205
196
188
179
169
158
148
137
127
116
106
96
86
76
67
61
54
48
43
38
35
31
31
30
31
33
36
40
46
51
58
65
74
82
91
102
116
122
128
147
157
161
172
187
194
198
206
216
225
228
231
236
240
241
241
240
237
235
232
227
220
214
207
198
190
182
171
161
151
137
125
122
113
93
86
84
70
61
55
51
46
38
32
33
31
30
30
33
35
42
44
46
61
65
69
80
91
100
109
117
129
144
152
160
172
182
191
200
208
213
221
227
232
236
238
240
241
240
238
237
233
227
222
215
208
200
192
184
175
159
149
148
133
115
112
103
89
81
69
65
60
49
44
40
36
33
32
30
29
32
36
39
43
48
55
63
69
78
87
97
107
118
128
138
149
159
170
179
189
197
205
213
219
226
231
235
237
239
240
240
239
236
233
229
224
217
210
202
193
185
176
165
155
144
134
124
113
103
93
83
74
66
59
52
46
41
37
33
31
30
31
31
34
38
42
47
54
61
68
76
85
94
105
115
126
136
146
157
167
177
187
195
203
211
218
224
230
234
237
240
240
241
239
237
234
230
225
218
211
204
195
188
178
168
157
147
136
126
115
105
95
85
76
67
60
53
47
42
37
34
31
31
31
31
33
36
40
46
52
59
66
73
83
92
103
112
123
133
144
155
165
176
185
193
201
210
216
223
228
233
237
239
240
240
240
238
236
231
226
220
213
205
197
189
180
170
160
149
138
127
117
107
97
87
78
69
62
55
48
43
38
35
32
30
30
31
33
36
39
44
50
57
63
72
80
90
100
111
121
131
142
152
163
173
183
192
200
208
215
221
227
232
236
239
240
241
240
239
236
232
227
221
215
208
199
192
182
172
162
152
141
130
120
110
99
89
80
71
63
57
50
44
39
35
32
30
30
31
33
35
39
44
49
56
63
70
79
88
98
109
118
128
139
150
160
170
181
190
198
206
213
220
227
232
235
237
240
240
240
239
237
233
228
224
217
209
201
192
184
175
165
154
143
132
123
112
102
91
82
73
64
58
51
46
40
36
33
31
31
31
32
34
37
42
48
54
61
68
77
86
96
107
117
127
137
148
158
169
178
188
196
204
212
219
225
230
235
237
240
241
241
238
238
233
229
224
218
210
202
195
187
177
166
156
145
134
125
114
104
93
84
75
67
59
52
46
41
37
34
31
30
30
31
34
37
42
47
53
59
66
75
83
94
104
114
124
135
145
156
166
176
186
194
203
211
217
224
229
233
237
239
240
240
240
237
235
231
225
219
212
205
196
189
179
169
158
148
137
127
117
106
96
86
76
68
62
54
48
43
38
35
31
30
30
31
33
36
40
45
51
58
63
73
81
91
101
111
122
132
142
152
163
173
184
192
200
208
215
222
228
232
236
239
240
240
240
238
236
232
227
221
214
207
199
191
182
172
161
150
140
129
120
109
99
89
79
70
63
56
50
44
39
35
33
31
30
31
33
35
39
44
50
56
63
70
79
89
99
109
119
129
139
151
161
172
181
190
198
206
213
221
227
231
236
238
240
240
240
238
236
233
228
222
216
208
200
192
184
174
164
153
142
132
122
111
101
91
81
72
64
58
51
45
40
36
34
31
30
31
31
34
38
43
48
54
61
68
77
86
96
106
117
127
137
148
159
169
179
189
196
205
212
219
225
231
234
238
239
240
240
239
237
233
229
224
218
210
202
194
186
176
166
156
145
134
124
114
103
93
83
75
66
60
52
46
41
37
34
31
30
30
31
34
37
41
46
53
60
67
75
84
94
105
115
125
135
145
156
167
177
186
195
203
211
218
224
230
233
237
239
241
240
240
238
234
230
225
219
212
204
196
188
178
168
158
147
136
126
115
105
95
86
76
67
61
53
47
42
38
34
31
30
30
31
34
37
41
46
52
59
65
73
82
92
102
112
123
132
144
154
165
174
185
193
201
210
216
223
228
233
237
239
240
240
240
238
235
231
226
220
214
206
198
190
180
170
160
150
139
128
118
108
97
87
79
68
62
54
53
42
33
38
35
28
28
33
35
34
37
45
53
57
63
72
81
90
100
111
121
130
141
152
162
173
183
192
199
208
215
222
229
231
231
241
245
236
237
243
236
230
227
223
217
207
197
192
183
170
164
151
138
133
124
106
99
95
80
69
63
58
51
43
36
36
35
30
29
31
31
35
40
43
48
55
63
69
79
87
97
108
118
128
139
150
160
171
181
189
198
207
213
221
221
230
243
235
236
243
241
239
236
231
232
225
214
209
201
193
185
176
164
153
144
134
123
112
102
92
83
73
65
59
51
45
41
37
33
31
30
31
31
34
38
42
47
54
61
68
76
86
95
106
116
127
136
147
158
168
178
187
195
204
212
219
225
230
234
237
239
241
240
240
237
234
230
224
218
211
203
195
187
177
167
156
146
135
125
115
104
94
84
75
67
60
53
47
42
37
34
31
31
30
31
34
37
41
47
53
59
66
74
83
93
103
113
124
134
144
155
166
176
185
193
202
210
217
224
229
233
237
240
240
241
240
238
235
230
226
219
212
205
197
189
179
169
158
148
137
127
116
107
97
86
77
68
62
54
48
43
38
35
33
31
30
31
33
36
40
45
51
58
63
72
81
90
100
111
122
131
142
153
164
174
184
192
200
208
215
222
228
232
236
239
240
240
240
238
236
232
227
221
214
207
198
191
181
171
161
151
139
129
119
109
98
88
79
70
63
56
49
44
39
35
33
30
31
31
33
35
39
43
49
56
63
71
79
89
99
110
120
130
140
151
161
172
181
190
198
207
214
221
227
231
235
238
240
241
240
239
237
233
228
222
216
208
200
192
184
174
164
153
143
131
121
111
100
90
81
72
63
58
50
45
39
36
33
31
30
31
31
35
38
43
49
54
62
68
77
87
96
107
117
127
138
148
158
169
179
189
196
205
212
220
225
230
235
237
240
240
240
239
237
233
229
224
217
210
202
194
186
176
166
156
144
134
124
114
103
92
83
74
66
59
53
47
41
37
33
31
30
30
31
34
37
42
47
53
60
66
76
84
94
105
115
125
135
146
156
167
177
187
195
203
211
218
224
229
234
237
240
240
240
239
238
234
230
225
219
211
204
196
188
178
168
157
146
136
126
116
105
95
85
76
68
60
54
47
42
38
34
31
30
31
31
34
37
40
45
52
59
65
73
83
92
102
112
123
133
143
154
165
175
185
193
201
209
216
222
228
233
237
239
240
240
240
238
234
231
226
221
214
206
197
189
180
171
161
149
139
127
118
108
97
87
78
69
62
55
49
43
38
35
32
31
30
31
33
35
39
44
50
57
63
71
80
90
100
110
121
130
141
152
162
172
182
192
199
208
215
222
227
232
235
238
240
240
240
238
236
232
228
221
215
208
199
192
182
173
162
152
141
131
120
110
100
90
80
72
63
56
50
44
40
36
33
31
30
31
31
35
39
44
49
56
63
69
78
87
97
108
118
128
138
149
159
170
180
189
197
205
213
220
226
231
235
238
240
241
240
239
237
233
229
224
216
209
202
193
185
176
165
155
144
133
123
113
102
93
83
74
66
59
52
46
41
36
33
31
30
30
31
34
38
42
47
53
61
67
76
85
95
105
115
126
136
146
157
168
177
188
195
204
211
218
225
230
234
237
240
241
240
240
237
234
230
225
218
211
203
196
187
178
167
157
146
136
126
115
105
94
85
76
67
60
53
47
42
37
34
31
30
30
31
34
36
41
45
52
59
66
74
83
93
103
113
124
134
144
155
166
176
185
194
202
210
217
223
229
233
237
239
240
241
240
238
235
231
225
220
213
205
197
189
180
170
159
148
137
127
117
106
96
86
78
69
62
55
48
43
37
34
31
30
31
31
33
36
40
45
51
57
63
72
81
91
101
111
122
132
142
153
163
174
184
192
200
208
216
222
228
232
236
238
240
240
241
237
236
233
224
226
217
202
198
194
183
167
163
153
140
127
118
111
100
87
79
70
63
56
50
43
38
36
33
30
30
31
33
35
39
44
50
56
63
66
79
95
96
104
122
132
137
149
162
174
183
188
198
208
212
220
228
229
239
240
235
244
243
237
235
235
229
222
214
207
203
194
182
173
164
153
144
132
121
111
101
91
81
73
63
57
51
45
40
36
33
31
31
31
31
34
39
43
47
50
63
73
71
86
99
106
117
125
137
152
158
167
179
188
196
205
213
217
224
231
235
237
239
241
241
240
237
234
229
224
217
211
203
194
186
177
166
156
145
134
124
113
103
94
84
74
65
59
52
47
41
37
33
31
30
31
31
34
37
41
47
53
60
67
75
84
94
105
115
125
134
145
156
167
177
186
194
202
210
218
224
229
233
236
239
240
241
240
238
234
230
225
219
212
204
196
188
179
168
158
148
137
127
116
106
96
86
76
68
61
54
47
42
37
34
31
31
30
31
34
36
41
46
52
58
64
73
82
92
102
112
122
132
143
154
164
174
184
192
201
209
216
223
228
233
237
238
240
240
240
238
235
231
227
221
214
207
198
190
181
171
160
150
139
128
119
108
98
88
79
69
63
56
48
43
39
35
31
31
30
31
33
36
40
44
50
57
63
71
80
89
99
109
120
130
141
151
162
172
182
192
199
207
214
221
227
232
235
238
240
240
240
238
236
232
228
222
215
208
200
192
183
173
163
152
142
131
121
111
100
91
81
72
63
57
51
45
40
36
33
31
30
31
32
34
38
43
48
55
63
69
78
87
97
107
117
127
138
148
159
169
180
189
197
205
213
220
226
231
235
238
240
241
240
239
236
233
229
224
217
210
202
193
185
176
166
155
144
133
123
112
103
92
83
74
65
59
52
46
40
36
33
31
30
31
31
34
37
42
47
53
60
67
76
85
94
105
115
126
135
146
157
167
178
187
195
203
211
218
225
230
234
237
240
240
241
239
238
235
230
225
218
211
203
195
188
178
168
157
146
136
126
115
105
94
84
75
67
60
54
47
42
37
34
31
30
30
31
34
36
41
46
52
59
66
74
83
93
103
113
123
133
144
154
165
175
185
193
201
210
217
222
229
233
237
239
240
240
240
237
235
231
226
220
213
206
197
190
180
170
159
148
138
127
118
107
97
87
78
69
62
55
48
43
38
35
31
31
30
31
33
36
40
45
51
57
63
72
80
90
100
111
121
131
141
152
163
173
183
192
200
208
215
222
228
232
236
238
240
240
240
238
235
231
227
221
214
207
199
192
182
172
162
151
140
129
120
109
99
89
80
70
63
56
50
44
39
36
33
31
29
31
33
35
39
43
49
56
63
70
79
88
99
108
119
128
139
150
161
171
181
190
198
206
213
221
226
231
235
238
240
240
240
238
236
233
228
222
217
209
201
192
184
174
165
153
143
132
122
112
102
91
82
73
64
58
51
45
40
36
33
31
30
30
31
35
38
43
48
54
61
68
76
86
96
107
117
127
136
147
158
168
178
188
196
204
212
219
225
230
235
238
240
241
240
239
237
234
229
224
218
211
203
195
187
176
166
156
145
134
124
114
104
93
84
75
66
60
53
47
41
37
34
31
30
30
31
34
37
41
47
52
59
66
75
83
93
103
114
124
134
145
156
166
176
186
194
202
210
217
224
229
234
237
239
240
241
240
238
235
231
226
220
213
204
197
188
179
169
159
148
138
127
118
106
97
87
78
68
61
54
48
43
38
34
31
31
30
31
33
36
39
45
51
58
65
72
82
91
101
111
122
131
142
153
163
174
183
192
200
208
216
222
228
232
236
239
240
241
240
238
236
232
227
221
214
207
199
192
182
172
162
151
139
129
120
109
99
89
79
70
63
56
49
44
39
35
33
31
30
31
33
35
39
44
49
56
63
70
79
88
98
109
119
129
141
148
165
173
177
190
202
208
209
222
229
232
233
237
242
243
240
237
237
234
228
224
215
208
201
192
184
174
164
153
142
132
122
112
101
92
76
73
70
56
47
48
43
34
32
31
33
31
29
34
40
41
47
56
60
72
78
82
100
110
115
127
140
150
159
167
178
192
198
203
212
219
226
232
236
237
239
241
240
239
237
233
229
224
217
210
202
193
185
175
165
156
144
135
125
111
99
97
88
68
66
62
51
47
39
38
37
31
28
31
31
34
38
42
46
52
62
67
75
84
94
105
115
125
135
146
156
167
177
187
195
203
211
218
224
230
234
237
240
240
241
239
237
233
230
225
218
211
204
195
188
178
168
157
146
136
126
116
105
95
85
76
68
60
54
47
42
38
34
31
30
30
31
34
36
41
46
52
59
65
74
83
93
103
113
123
132
143
154
165
175
185
193
201
209
216
223
228
232
237
239
241
240
240
238
235
232
226
220
213
206
197
190
180
170
160
149
138
128
118
107
97
87
79
69
62
55
48
43
38
35
31
31
30
31
32
36
40
45
50
57
63
71
81
89
100
110
121
130
142
152
162
173
182
192
199
208
214
222
227
232
236
238
240
240
240
238
235
232
228
221
215
208
199
192
182
172
162
152
140
130
120
110
99
89
80
71
63
56
50
44
40
35
33
31
30
30
